/** * * Copyright 2014 The Darks ORM Project (Liu lihua) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package darks.orm.core.factory; import darks.orm.app.QueryEnumType; import darks.orm.app.SqlSession; import darks.orm.core.data.xml.DMLData; import darks.orm.core.data.xml.DMLQueryData; import darks.orm.core.data.xml.DMLUpdateData; import darks.orm.core.data.xml.QueryAspectWrapper; import darks.orm.core.data.xml.SimpleAspectWrapper; import darks.orm.core.executor.SqlMapAutoCascadeQueryExecutor; import darks.orm.core.executor.SqlMapExecutor; import darks.orm.core.executor.SqlMapManualCascadeQueryExecutor; import darks.orm.core.executor.SqlMapQueryExecutor; import darks.orm.core.executor.SqlMapUpdateExecutor; public final class ExecutorFactory { private ExecutorFactory() { } /** * ���SqlMap����ִ���� * * @param session SQL�Ự * @param updateData �������� * @param sqlMapAspectData �������� * @return */ public static final SqlMapExecutor getSqlMapUpdateExecutor(SqlSession session, DMLUpdateData updateData, SimpleAspectWrapper simpleWrapper) { return new SqlMapUpdateExecutor(session, updateData, simpleWrapper); } /** * ���SqlMap��ѯִ���� * * @param session SQL�Ự * @param dmlData DML���� * @param queryData ��ѯ���� * @param sqlMapAspectData �������� * @param queryEnumType ��ѯ���� * @return */ public static final SqlMapExecutor getSqlMapQueryExecutor(SqlSession session, DMLData dmlData, DMLQueryData queryData, QueryAspectWrapper queryWrapper, QueryEnumType queryEnumType) { return new SqlMapQueryExecutor(dmlData, queryData, queryWrapper, queryEnumType, session); } // executeSqlMapQuery(SqlSession, Class, String, Object[], QueryEnumType, // String, String, String, int, int, boolean, boolean) /** * ��ü�����ѯִ���� * * @param isAutoCascade * @param session * @param resultClass * @param sql * @param params * @param queryEnumType * @param cacheId * @param page * @param pageSize * @param autoCache * @param attr * @param alias * @return */ public static final SqlMapExecutor getSqlMapCascadeQueryExecutor(SqlSession session, boolean isAutoCascade, Class<?> resultClass, String sql, Object[] params, QueryEnumType queryEnumType, String cacheId, int page, int pageSize, boolean autoCache, String attr, String alias) { if (isAutoCascade) { return new SqlMapAutoCascadeQueryExecutor(session, resultClass, sql, params, queryEnumType, cacheId, page, pageSize, autoCache); } return new SqlMapManualCascadeQueryExecutor(session, resultClass, sql, params, queryEnumType, cacheId, page, pageSize, autoCache, attr, alias); } }