List of usage examples for org.apache.ibatis.scripting.xmltags TextSqlNode TextSqlNode
public TextSqlNode(String text)
From source file:cn.com.bricks.mybatis.rbac.DynamicRbacInterceptor.java
@Override public Object intercept(Invocation invocation) throws Throwable { StatementHandler statementHandler = (StatementHandler) invocation.getTarget(); MetaObject metaStatementHandler = MetaObject.forObject(statementHandler, DEFAULT_OBJECT_FACTORY, DEFAULT_OBJECT_WRAPPER_FACTORY, DEFAULT_REFLECTOR_FACTORY); MappedStatement mappedStatement = (MappedStatement) metaStatementHandler .getValue("delegate.mappedStatement"); // ?sql/* ww w .java 2 s . c om*/ BoundSql bsql = statementHandler.getBoundSql(); // ?sql TextSqlNode sqlNode = new TextSqlNode(bsql.getSql()); BoundSql nbsql = getBoundSql(mappedStatement.getConfiguration(), bsql.getParameterObject(), sqlNode); // ?sql? metaStatementHandler.setValue("delegate.boundSql.sql", nbsql.getSql()); return invocation.proceed(); }
From source file:cn.org.awcp.core.mybatis.mapper.MapperTemplate.java
License:Open Source License
/** * create criteria from baseExample/*from w w w . j a v a2 s.c o m*/ * * @param sqlNodes * @param baseExample */ protected SqlNode createCriteria(MappedStatement ms) { List<SqlNode> ifSqlNodes = new ArrayList<SqlNode>(); SqlNode noValueSqlNode = new TextSqlNode(" ${criterion.condition} "); ifSqlNodes.add(new IfSqlNode(noValueSqlNode, "criterion.noValue")); SqlNode singleValueSqlNode = new TextSqlNode(" ${criterion.condition} #{criterion.value} "); ifSqlNodes.add(new IfSqlNode(singleValueSqlNode, "criterion.singleValue")); SqlNode betweenValueSqlNode = new TextSqlNode( " ${criterion.condition} #{criterion.value} and #{criterion.secondValue} "); ifSqlNodes.add(new IfSqlNode(betweenValueSqlNode, "criterion.betweenValue")); List<SqlNode> listSqlNode = new ArrayList<SqlNode>(); listSqlNode.add(new TextSqlNode(" ${criterion.condition} ")); SqlNode listItemNode = new TextSqlNode(" #{listItem} "); SqlNode foreachSqlNode3 = new ForEachSqlNode(ms.getConfiguration(), listItemNode, "criterion.value", null, "listItem", " (", ") ", ","); listSqlNode.add(foreachSqlNode3); ifSqlNodes.add(new IfSqlNode(new MixedSqlNode(listSqlNode), "criterion.listValue")); SqlNode chooseSqlNode = new ChooseSqlNode(ifSqlNodes, null); SqlNode foreachSqlNode2 = new ForEachSqlNode(ms.getConfiguration(), chooseSqlNode, "criteria.criteria", null, "criterion", null, null, "AND"); SqlNode trimSqlNode = new TrimSqlNode(ms.getConfiguration(), foreachSqlNode2, " (", "AND", ") ", (String) null); SqlNode iftestSqlNode = new IfSqlNode(trimSqlNode, "criteria.valid"); SqlNode foreachSqlNode1 = new ForEachSqlNode(ms.getConfiguration(), iftestSqlNode, "oredCriteria", null, "criteria", null, null, "OR"); return foreachSqlNode1; }
From source file:com.cheyipai.platformservice.thirdparty.core.pager.PageHelper.java
License:Open Source License
/** * ?sqlSource/*from w ww . ja va2 s . co m*/ * * @param ms * @param newSqlSource * @param suffix * @return */ private SqlSource getNewSqlSource(MappedStatement ms, BoundSqlSqlSource newSqlSource, String suffix) { SqlSource sqlSource = ms.getSqlSource(); //XMLLanguageDriver.javaXMLScriptBuilder.java???SqlSource if (sqlSource instanceof DynamicSqlSource) { MetaObject msObject = forObject(ms); List<SqlNode> contents = (List<SqlNode>) msObject.getValue(SQL_NODES); List<SqlNode> newSqlNodes = new ArrayList<SqlNode>(contents.size() + 2); //? if (suffix == SUFFIX_PAGE) { newSqlNodes.add(new TextSqlNode(getPageSqlBefore())); newSqlNodes.addAll(contents); newSqlNodes.add(new TextSqlNode(getPageSqlAfter())); return new MyDynamicSqlSource(ms.getConfiguration(), new MixedSqlNode(newSqlNodes)); } else { newSqlNodes.add(new TextSqlNode(getCountSqlBefore())); newSqlNodes.addAll(contents); newSqlNodes.add(new TextSqlNode(getCountSqlAfter())); return new DynamicSqlSource(ms.getConfiguration(), new MixedSqlNode(newSqlNodes)); } } else { //RawSqlSource //? if (suffix == SUFFIX_PAGE) { //sql MetaObject sqlObject = forObject(newSqlSource); sqlObject.setValue(BOUND_SQL, getPageSql((String) sqlObject.getValue(BOUND_SQL))); //? List<ParameterMapping> newParameterMappings = new ArrayList<ParameterMapping>(); newParameterMappings.addAll(newSqlSource.getBoundSql().getParameterMappings()); newParameterMappings .add(new ParameterMapping.Builder(ms.getConfiguration(), PAGEPARAMETER_FIRST, Integer.class) .build()); newParameterMappings.add( new ParameterMapping.Builder(ms.getConfiguration(), PAGEPARAMETER_SECOND, Integer.class) .build()); sqlObject.setValue("boundSql.parameterMappings", newParameterMappings); } else { //count sql MetaObject sqlObject = forObject(newSqlSource); sqlObject.setValue(BOUND_SQL, getCountSql((String) sqlObject.getValue(BOUND_SQL))); } return newSqlSource; } }
From source file:com.dingding.utils.page.SqlUtil.java
License:Open Source License
/** * ?sqlSource/*from ww w .j av a 2s . c o m*/ * * @param ms * @param newSqlSource * @param suffix * @return */ private SqlSource getNewSqlSource(MappedStatement ms, BoundSqlSqlSource newSqlSource, String suffix) { SqlSource sqlSource = ms.getSqlSource(); //XMLLanguageDriver.javaXMLScriptBuilder.java???SqlSource if (sqlSource instanceof DynamicSqlSource) { MetaObject msObject = forObject(ms); List<SqlNode> contents = (List<SqlNode>) msObject.getValue(SQL_NODES); List<SqlNode> newSqlNodes = new ArrayList<SqlNode>(contents.size() + 2); //? if (suffix == SUFFIX_PAGE) { newSqlNodes.add(new TextSqlNode(SQLPARSER.getPageSqlBefore())); newSqlNodes.addAll(contents); newSqlNodes.add(new TextSqlNode(SQLPARSER.getPageSqlAfter())); return new MyDynamicSqlSource(ms.getConfiguration(), new MixedSqlNode(newSqlNodes), false); } else { newSqlNodes.add(new TextSqlNode(SQLPARSER.getCountSqlBefore())); newSqlNodes.addAll(contents); newSqlNodes.add(new TextSqlNode(SQLPARSER.getCountSqlAfter())); return new MyDynamicSqlSource(ms.getConfiguration(), new MixedSqlNode(newSqlNodes), true); } } else { //RawSqlSource //? if (suffix == SUFFIX_PAGE) { //sql MetaObject sqlObject = forObject(newSqlSource); sqlObject.setValue(BOUND_SQL, SQLPARSER.getPageSql((String) sqlObject.getValue(BOUND_SQL))); //? List<ParameterMapping> newParameterMappings = new ArrayList<ParameterMapping>(); newParameterMappings.addAll(newSqlSource.getBoundSql().getParameterMappings()); newParameterMappings .add(new ParameterMapping.Builder(ms.getConfiguration(), PAGEPARAMETER_FIRST, Integer.class) .build()); newParameterMappings.add( new ParameterMapping.Builder(ms.getConfiguration(), PAGEPARAMETER_SECOND, Integer.class) .build()); sqlObject.setValue("boundSql.parameterMappings", newParameterMappings); } else { //count sql MetaObject sqlObject = forObject(newSqlSource); sqlObject.setValue(BOUND_SQL, SQLPARSER.getCountSql((String) sqlObject.getValue(BOUND_SQL))); } return newSqlSource; } }
From source file:com.github.abel533.mapperhelper.MapperTemplate.java
License:Open Source License
public IfSqlNode ExampleValidSqlNode(Configuration configuration) { List<SqlNode> whenSqlNodes = new ArrayList<SqlNode>(); IfSqlNode noValueSqlNode = new IfSqlNode(new TextSqlNode("and ${criterion.condition}"), "criterion.noValue"); whenSqlNodes.add(noValueSqlNode);/*from w ww. j a v a 2 s. c om*/ IfSqlNode singleValueSqlNode = new IfSqlNode( new TextSqlNode("and ${criterion.condition} #{criterion.value}"), "criterion.singleValue"); whenSqlNodes.add(singleValueSqlNode); IfSqlNode betweenValueSqlNode = new IfSqlNode( new TextSqlNode("and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}"), "criterion.betweenValue"); whenSqlNodes.add(betweenValueSqlNode); List<SqlNode> listValueContentSqlNodes = new ArrayList<SqlNode>(); listValueContentSqlNodes.add(new TextSqlNode("and ${criterion.condition}")); ForEachSqlNode listValueForEachSqlNode = new ForEachSqlNode(configuration, new StaticTextSqlNode("#{listItem}"), "criterion.value", null, "listItem", "(", ")", ","); listValueContentSqlNodes.add(listValueForEachSqlNode); IfSqlNode listValueSqlNode = new IfSqlNode(new MixedSqlNode(listValueContentSqlNodes), "criterion.listValue"); whenSqlNodes.add(listValueSqlNode); ChooseSqlNode chooseSqlNode = new ChooseSqlNode(whenSqlNodes, null); ForEachSqlNode criteriaSqlNode = new ForEachSqlNode(configuration, chooseSqlNode, "criteria.criteria", null, "criterion", null, null, null); TrimSqlNode trimSqlNode = new TrimSqlNode(configuration, criteriaSqlNode, "(", "and", ")", null); IfSqlNode validSqlNode = new IfSqlNode(trimSqlNode, "criteria.valid"); return validSqlNode; }
From source file:com.hand.hap.mybatis.mapperhelper.MapperTemplate.java
License:Open Source License
/** * ??? - ????/*from www . j a va2s. c o m*/ * * @param entityClass * @return * @deprecated 4.x */ @Deprecated protected SqlNode getDynamicTableNameNode(Class<?> entityClass) { if (IDynamicTableName.class.isAssignableFrom(entityClass)) { List<SqlNode> ifSqlNodes = new ArrayList<SqlNode>(); ifSqlNodes.add(new IfSqlNode(new TextSqlNode("${dynamicTableName}"), "@OGNL@isDynamicParameter(_parameter) and dynamicTableName != null and dynamicTableName != ''")); ifSqlNodes.add(new IfSqlNode(new StaticTextSqlNode(tableName(entityClass)), "@OGNL@isNotDynamicParameter(_parameter) or dynamicTableName == null or dynamicTableName == ''")); return new MixedSqlNode(ifSqlNodes); } else { return new StaticTextSqlNode(tableName(entityClass)); } }
From source file:com.hand.hap.mybatis.mapperhelper.MapperTemplate.java
License:Open Source License
/** * ??? - ?????parameterName?@Param/*from w ww . j av a 2 s .c o m*/ * * @param entityClass * @param parameterName * @return * @deprecated 4.x */ @Deprecated protected SqlNode getDynamicTableNameNode(Class<?> entityClass, String parameterName) { if (IDynamicTableName.class.isAssignableFrom(entityClass)) { List<SqlNode> ifSqlNodes = new ArrayList<SqlNode>(); ifSqlNodes.add(new IfSqlNode(new TextSqlNode("${" + parameterName + ".dynamicTableName}"), "@OGNL@isDynamicParameter(" + parameterName + ") and " + parameterName + ".dynamicTableName != null and " + parameterName + ".dynamicTableName != ''")); ifSqlNodes.add(new IfSqlNode(new StaticTextSqlNode(tableName(entityClass)), "@OGNL@isNotDynamicParameter(" + parameterName + ") or " + parameterName + ".dynamicTableName == null or " + parameterName + ".dynamicTableName == ''")); return new MixedSqlNode(ifSqlNodes); } else { return new StaticTextSqlNode(tableName(entityClass)); } }
From source file:com.hand.hap.mybatis.mapperhelper.MapperTemplate.java
License:Open Source License
@Deprecated public IfSqlNode ExampleValidSqlNode(Configuration configuration) { List<SqlNode> whenSqlNodes = new ArrayList<SqlNode>(); IfSqlNode noValueSqlNode = new IfSqlNode(new TextSqlNode(" and ${criterion.condition}"), "criterion.noValue"); whenSqlNodes.add(noValueSqlNode);/* www . j a va2s . com*/ IfSqlNode singleValueSqlNode = new IfSqlNode( new TextSqlNode(" and ${criterion.condition} #{criterion.value}"), "criterion.singleValue"); whenSqlNodes.add(singleValueSqlNode); IfSqlNode betweenValueSqlNode = new IfSqlNode( new TextSqlNode(" and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}"), "criterion.betweenValue"); whenSqlNodes.add(betweenValueSqlNode); List<SqlNode> listValueContentSqlNodes = new ArrayList<SqlNode>(); listValueContentSqlNodes.add(new TextSqlNode(" and ${criterion.condition}")); ForEachSqlNode listValueForEachSqlNode = new ForEachSqlNode(configuration, new StaticTextSqlNode("#{listItem}"), "criterion.value", null, "listItem", "(", ")", ","); listValueContentSqlNodes.add(listValueForEachSqlNode); IfSqlNode listValueSqlNode = new IfSqlNode(new MixedSqlNode(listValueContentSqlNodes), "criterion.listValue"); whenSqlNodes.add(listValueSqlNode); ChooseSqlNode chooseSqlNode = new ChooseSqlNode(whenSqlNodes, null); ForEachSqlNode criteriaSqlNode = new ForEachSqlNode(configuration, chooseSqlNode, "criteria.criteria", null, "criterion", null, null, null); TrimSqlNode trimSqlNode = new TrimSqlNode(configuration, criteriaSqlNode, "(", "and", ")", null); IfSqlNode validSqlNode = new IfSqlNode(trimSqlNode, "criteria.valid"); return validSqlNode; }
From source file:com.jdonee.framework.util.pagehelper.SqlUtil.java
License:Open Source License
/** * ?sqlSource// w w w . ja v a2s. com * * @param ms * @param newSqlSource * @param suffix * @return */ private SqlSource getNewSqlSource(MappedStatement ms, BoundSqlSqlSource newSqlSource, String suffix) { SqlSource sqlSource = ms.getSqlSource(); // XMLLanguageDriver.javaXMLScriptBuilder.java???SqlSource if (sqlSource instanceof DynamicSqlSource) { MetaObject msObject = forObject(ms); List<SqlNode> contents = (List<SqlNode>) msObject.getValue(SQL_NODES); List<SqlNode> newSqlNodes = new ArrayList<SqlNode>(contents.size() + 2); // ? if (suffix == SUFFIX_PAGE) { newSqlNodes.add(new TextSqlNode(SQLPARSER.getPageSqlBefore())); newSqlNodes.addAll(contents); newSqlNodes.add(new TextSqlNode(SQLPARSER.getPageSqlAfter())); return new MyDynamicSqlSource(ms.getConfiguration(), new MixedSqlNode(newSqlNodes), false); } else { newSqlNodes.add(new TextSqlNode(SQLPARSER.getCountSqlBefore())); newSqlNodes.addAll(contents); newSqlNodes.add(new TextSqlNode(SQLPARSER.getCountSqlAfter())); return new MyDynamicSqlSource(ms.getConfiguration(), new MixedSqlNode(newSqlNodes), true); } } else { // RawSqlSource // ? if (suffix == SUFFIX_PAGE) { // sql MetaObject sqlObject = forObject(newSqlSource); sqlObject.setValue(BOUND_SQL, SQLPARSER.getPageSql((String) sqlObject.getValue(BOUND_SQL))); // ? List<ParameterMapping> newParameterMappings = new ArrayList<ParameterMapping>(); newParameterMappings.addAll(newSqlSource.getBoundSql().getParameterMappings()); newParameterMappings .add(new ParameterMapping.Builder(ms.getConfiguration(), PAGEPARAMETER_FIRST, Integer.class) .build()); newParameterMappings.add( new ParameterMapping.Builder(ms.getConfiguration(), PAGEPARAMETER_SECOND, Integer.class) .build()); sqlObject.setValue("boundSql.parameterMappings", newParameterMappings); } else { // count sql MetaObject sqlObject = forObject(newSqlSource); sqlObject.setValue(BOUND_SQL, SQLPARSER.getCountSql((String) sqlObject.getValue(BOUND_SQL))); } return newSqlSource; } }
From source file:com.noasking.mapper.mapperhelper.MapperTemplate.java
License:Open Source License
/** * ??? - ????// w w w . ja v a 2s .c o m * * @param entityClass * @return * @deprecated 4.x */ @Deprecated protected SqlNode getDynamicTableNameNode(Class<?> entityClass) { if (IDynamicTableName.class.isAssignableFrom(entityClass)) { List<SqlNode> ifSqlNodes = new ArrayList<SqlNode>(); ifSqlNodes.add(new IfSqlNode(new TextSqlNode("${dynamicTableName}"), "@com.noasking.mapper.util.OGNL@isDynamicParameter(_parameter) and dynamicTableName != null and dynamicTableName != ''")); ifSqlNodes.add(new IfSqlNode(new StaticTextSqlNode(tableName(entityClass)), "@com.noasking.mapper.util.OGNL@isNotDynamicParameter(_parameter) or dynamicTableName == null or dynamicTableName == ''")); return new MixedSqlNode(ifSqlNodes); } else { return new StaticTextSqlNode(tableName(entityClass)); } }