提交 6be4ebc4 编写于 作者: M MaxKey

_logger

上级 5206404e
......@@ -42,7 +42,7 @@ public abstract class AbstractStatementHandlerInterceptor implements Intercepto
* @param dialect the dialect to set
*/
public void setDialect(Dialect dialect) {
_logger.debug("dialect from bean : "+dialect);
_logger.debug("dialect from bean : {}" , dialect);
this.dialect = dialect;
}
......@@ -53,10 +53,9 @@ public abstract class AbstractStatementHandlerInterceptor implements Intercepto
public void setDialectString(String dialectString) {
this.dialectString = dialectString;
try {
_logger.debug("dialect from String : " + dialectString);
_logger.debug("dialect from String : {}" , dialectString);
this.dialect =(Dialect)Class.forName(dialectString).getDeclaredConstructor().newInstance();
} catch (Exception e) {
e.printStackTrace();
_logger.error("Dialect new error : " , e);
}
}
......
......@@ -44,6 +44,7 @@ public class StatementHandlerInterceptor extends AbstractStatementHandlerInterce
public Object intercept(Invocation invocation) throws Throwable {
Method m = invocation.getMethod();
if ("prepare".equals(m.getName())) {
return prepare(invocation);
}
......
......@@ -26,6 +26,7 @@ import org.apache.ibatis.jdbc.SQL;
import org.apache.mybatis.jpa.persistence.FieldColumnMapper;
import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
import org.apache.mybatis.jpa.persistence.MapperMetadata;
import org.apache.mybatis.jpa.persistence.MapperMetadata.SQL_TYPE;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -40,17 +41,19 @@ public class SqlProviderDelete <T extends JpaBaseEntity>{
public String execute(Map<String, Object> parametersMap) {
Class<?> entityClass=(Class<?>)parametersMap.get(MapperMetadata.ENTITY_CLASS);
MapperMetadata.buildColumnList(entityClass);
if (MapperMetadata.sqlsMap.containsKey(MapperMetadata.getTableName(entityClass) + MapperMetadata.SQL_TYPE.REMOVE_SQL)) {
return MapperMetadata.sqlsMap.get(MapperMetadata.getTableName(entityClass) + MapperMetadata.SQL_TYPE.REMOVE_SQL);
if (MapperMetadata.sqlsMap.containsKey(MapperMetadata.getTableName(entityClass) + SQL_TYPE.REMOVE_SQL)) {
return MapperMetadata.sqlsMap.get(MapperMetadata.getTableName(entityClass) + SQL_TYPE.REMOVE_SQL);
}
FieldColumnMapper idFieldColumnMapper=MapperMetadata.getIdColumn((entityClass).getSimpleName());
SQL sql=new SQL();
sql.DELETE_FROM(MapperMetadata.getTableName(entityClass))
SQL sql=new SQL()
.DELETE_FROM(MapperMetadata.getTableName(entityClass))
.WHERE(idFieldColumnMapper.getColumnName()
+ " = #{" +idFieldColumnMapper.getFieldName() + ",javaType=string,jdbcType=VARCHAR}");
String deleteSql=sql.toString();
String deleteSql = sql.toString();
_logger.trace("Delete SQL \n"+deleteSql);
MapperMetadata.sqlsMap.put(MapperMetadata.getTableName(entityClass) + MapperMetadata.SQL_TYPE.REMOVE_SQL,deleteSql);
MapperMetadata.sqlsMap.put(MapperMetadata.getTableName(entityClass) + SQL_TYPE.REMOVE_SQL,deleteSql);
return deleteSql;
}
......@@ -68,13 +71,16 @@ public class SqlProviderDelete <T extends JpaBaseEntity>{
}
//remove ;
keyValue = keyValue.substring(1).replaceAll(";", "");
FieldColumnMapper idFieldColumnMapper=MapperMetadata.getIdColumn(entityClass.getSimpleName());
SQL sql=new SQL();
sql.DELETE_FROM(MapperMetadata.getTableName(entityClass))
FieldColumnMapper idFieldColumnMapper = MapperMetadata.getIdColumn(entityClass.getSimpleName());
SQL sql=new SQL()
.DELETE_FROM(MapperMetadata.getTableName(entityClass))
.WHERE(idFieldColumnMapper.getColumnName()+" in ( "+keyValue+" )");
String deleteSql=sql.toString();
_logger.trace("Delete SQL \n"+deleteSql);
MapperMetadata.sqlsMap.put(MapperMetadata.getTableName(entityClass) + MapperMetadata.SQL_TYPE.BATCHDELETE_SQL,deleteSql);
_logger.trace("Delete SQL \n" + deleteSql);
MapperMetadata.sqlsMap.put(
MapperMetadata.getTableName(entityClass) + SQL_TYPE.BATCHDELETE_SQL,deleteSql);
return deleteSql;
}
......@@ -93,13 +99,16 @@ public class SqlProviderDelete <T extends JpaBaseEntity>{
//remove ;
keyValue = keyValue.substring(1).replaceAll(";", "");
FieldColumnMapper idFieldColumnMapper=MapperMetadata.getIdColumn(entityClass.getSimpleName());
SQL sql=new SQL();
sql.UPDATE(MapperMetadata.getTableName(entityClass))
SQL sql=new SQL()
.UPDATE(MapperMetadata.getTableName(entityClass))
.SET("status = 9")
.WHERE(idFieldColumnMapper.getColumnName()+" in ( "+keyValue+" )");
String deleteSql=sql.toString();
_logger.trace("logic Delete SQL \n"+deleteSql);
MapperMetadata.sqlsMap.put(MapperMetadata.getTableName(entityClass) + MapperMetadata.SQL_TYPE.LOGICDELETE_SQL,deleteSql);
String deleteSql = sql.toString();
_logger.trace("logic Delete SQL \n" + deleteSql);
MapperMetadata.sqlsMap.put(
MapperMetadata.getTableName(entityClass) + SQL_TYPE.LOGICDELETE_SQL,deleteSql);
return deleteSql;
}
......
......@@ -46,8 +46,10 @@ public class SqlProviderInsert <T extends JpaBaseEntity>{
public String execute(T entity) {
MapperMetadata.buildColumnList(entity.getClass());
List<FieldColumnMapper> listFields = MapperMetadata.fieldsMap.get(entity.getClass().getSimpleName());
SQL sql = new SQL();
sql.INSERT_INTO(MapperMetadata.getTableName(entity.getClass()));
SQL sql = new SQL()
.INSERT_INTO(MapperMetadata.getTableName(entity.getClass()));
for (int i = 0; i < listFields.size(); i++) {
FieldColumnMapper fieldColumnMapper=listFields.get(i);
if(
......
......@@ -52,13 +52,15 @@ public class SqlProviderQuery <T extends JpaBaseEntity>{
}
FieldColumnMapper idFieldColumnMapper=MapperMetadata.getIdColumn(entityClass.getSimpleName());
SQL sql=new SQL();
sql.SELECT(selectColumnMapper(entityClass))
SQL sql=new SQL()
.SELECT(selectColumnMapper(entityClass))
.FROM(MapperMetadata.getTableName(entityClass)+" sel_tmp_table ")
.WHERE(idFieldColumnMapper.getColumnName()
+ " = #{"+idFieldColumnMapper.getFieldName() + "}");
String getSql=sql.toString();
_logger.trace("Get SQL \n"+getSql);
String getSql = sql.toString();
_logger.trace("Get SQL \n" + getSql);
MapperMetadata.sqlsMap.put(MapperMetadata.getTableName(entityClass) + SQL_TYPE.GET_SQL,getSql);
return getSql;
}
......@@ -69,19 +71,21 @@ public class SqlProviderQuery <T extends JpaBaseEntity>{
if (MapperMetadata.sqlsMap.containsKey(MapperMetadata.getTableName(entityClass) + SQL_TYPE.FINDALL_SQL)) {
return MapperMetadata.sqlsMap.get(MapperMetadata.getTableName(entityClass) + SQL_TYPE.FINDALL_SQL);
}
SQL sql=new SQL();
sql.SELECT(selectColumnMapper(entityClass))
SQL sql=new SQL()
.SELECT(selectColumnMapper(entityClass))
.FROM(MapperMetadata.getTableName(entityClass)+" sel_tmp_table ");
String findAllSql=sql.toString();
_logger.trace("Find All SQL \n"+findAllSql);
String findAllSql = sql.toString();
_logger.trace("Find All SQL \n" + findAllSql);
MapperMetadata.sqlsMap.put(MapperMetadata.getTableName(entityClass) + SQL_TYPE.FINDALL_SQL,findAllSql);
return findAllSql;
}
public String execute(T entity) {
MapperMetadata.buildColumnList(entity.getClass());
SQL sql=new SQL();
sql.SELECT(selectColumnMapper(entity.getClass()))
SQL sql=new SQL()
.SELECT(selectColumnMapper(entity.getClass()))
.FROM(MapperMetadata.getTableName(entity.getClass())+" sel_tmp_table ");
for(FieldColumnMapper fieldColumnMapper : MapperMetadata.fieldsMap.get(entity.getClass().getSimpleName())) {
......@@ -143,19 +147,19 @@ public class SqlProviderQuery <T extends JpaBaseEntity>{
.replaceAll("\n+", " \n")
.replaceAll("\t", " ")
.replaceAll(" +"," ");
BoundSql boundSql=(BoundSql)pageResultsSqlCache.getBoundSql();
BoundSql boundSql = (BoundSql)pageResultsSqlCache.getBoundSql();
_logger.trace("Count original SQL :\n{}" , selectSql);
StringBuffer sql=new StringBuffer(SqlSyntax.SELECT +" "+ SqlSyntax.Functions.COUNT_ONE +" countrows_ ");
StringBuffer countSql=new StringBuffer();
StringBuffer sql = new StringBuffer(SqlSyntax.SELECT +" "+ SqlSyntax.Functions.COUNT_ONE +" countrows_ ");
StringBuffer countSql = new StringBuffer();
if(boundSql.getParameterMappings()==null ||boundSql.getParameterMappings().isEmpty()) {
if(boundSql.getParameterMappings() == null ||boundSql.getParameterMappings().isEmpty()) {
countSql.append(selectSql);
}else {
for (ParameterMapping parameterMapping:boundSql.getParameterMappings()) {
countSql.append(selectSql.substring(0, selectSql.indexOf("?")));
countSql.append("#{"+parameterMapping.getProperty()+"}");
selectSql=selectSql.substring(selectSql.indexOf("?")+1);
selectSql = selectSql.substring(selectSql.indexOf("?")+1);
}
countSql.append(selectSql);
}
......
......@@ -43,16 +43,15 @@ public class SqlProviderUpdate <T extends JpaBaseEntity>{
*/
public String execute(T entity) {
MapperMetadata.buildColumnList(entity.getClass());
List<FieldColumnMapper> listFields = MapperMetadata.fieldsMap.get(entity.getClass().getSimpleName());
SQL sql = new SQL();
sql.UPDATE(MapperMetadata.getTableName(entity.getClass()));
SQL sql = new SQL()
.UPDATE(MapperMetadata.getTableName(entity.getClass()));
for (int i = 0; i < listFields.size(); i++) {
FieldColumnMapper fieldColumnMapper=listFields.get(i);
_logger.trace("Field {} , Type {}",fieldColumnMapper.getFieldName(), fieldColumnMapper.getFieldType());
FieldColumnMapper fieldColumnMapper = listFields.get(i);
_logger.trace("Field {} , Type {}",
fieldColumnMapper.getFieldName(), fieldColumnMapper.getFieldType());
if (fieldColumnMapper.isIdColumn()) {
continue;
}
......@@ -65,12 +64,12 @@ public class SqlProviderUpdate <T extends JpaBaseEntity>{
//skip null field value
_logger.trace("skip field value is null ");
}else {
sql.SET(fieldColumnMapper.getColumnName() + "=#{" + fieldColumnMapper.getFieldName() + "}");
sql.SET(fieldColumnMapper.getColumnName() + " = #{" + fieldColumnMapper.getFieldName() + "}");
}
}
FieldColumnMapper idFieldColumnMapper=MapperMetadata.getIdColumn(entity.getClass().getSimpleName());
sql.WHERE(idFieldColumnMapper.getColumnName() + "=#{"+idFieldColumnMapper.getFieldName()+"}");
sql.WHERE(idFieldColumnMapper.getColumnName() + " = #{" + idFieldColumnMapper.getFieldName() + "}");
_logger.trace("Update SQL : \n{}" , sql);
return sql.toString();
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册