List of usage examples for org.apache.ibatis.scripting.xmltags IfSqlNode IfSqlNode
public IfSqlNode(SqlNode contents, String test)
From source file:cn.org.awcp.core.mybatis.mapper.MapperTemplate.java
License:Open Source License
/** * if?sqlNode/*from ww w .j a va 2 s . c om*/ * <p> * <code><if test="property!=null">columnNode</if></code> * </p> * * @param column * @param columnNode * @param empty * ??!=''? * @return */ protected SqlNode getIfNotNull(EntityHelper.EntityColumn column, SqlNode columnNode, boolean empty) { return new IfSqlNode(columnNode, column.getProperty() + " != null " + (empty ? " and " + column.getProperty() + " != ''" : "")); }
From source file:cn.org.awcp.core.mybatis.mapper.MapperTemplate.java
License:Open Source License
/** * if?sqlNode//from ww w .java 2 s . c o m * <p> * <code><if test="property==null">columnNode</if></code> * </p> * * @param column * @return */ protected SqlNode getIfIsNull(EntityHelper.EntityColumn column, SqlNode columnNode) { return new IfSqlNode(columnNode, column.getProperty() + " == null "); }
From source file:cn.org.awcp.core.mybatis.mapper.MapperTemplate.java
License:Open Source License
/** * if?sqlNode/*from w w w. jav a 2 s. c om*/ * <p> * <code><if test="property!=null">columnNode</if></code> * </p> * * @param column * @return */ protected SqlNode getIfCacheNotNull(EntityHelper.EntityColumn column, SqlNode columnNode) { return new IfSqlNode(columnNode, column.getProperty() + "_cache != null "); }
From source file:cn.org.awcp.core.mybatis.mapper.MapperTemplate.java
License:Open Source License
/** * if?sqlNode/*w ww . j ava2 s . c o m*/ * <p> * * <code><if test="property_cache!=null">columnNode</if></code> * </p> * * @param column * @return */ protected SqlNode getIfCacheIsNull(EntityHelper.EntityColumn column, SqlNode columnNode) { return new IfSqlNode(columnNode, column.getProperty() + "_cache == null "); }
From source file:cn.org.awcp.core.mybatis.mapper.MapperTemplate.java
License:Open Source License
/** * create criteria from baseExample/*from www .java 2s.c om*/ * * @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.github.abel533.mapper.MapperProvider.java
License:Open Source License
/** * ??null//from w w w. j a v a 2s.c o m * * @param ms * @return */ public SqlNode insertSelective(MappedStatement ms) { Class<?> entityClass = getSelectReturnType(ms); List<SqlNode> sqlNodes = new ArrayList<SqlNode>(); //insert into table sqlNodes.add(new StaticTextSqlNode("INSERT INTO " + tableName(entityClass))); //? List<EntityHelper.EntityColumn> columnList = EntityHelper.getColumns(entityClass); List<SqlNode> ifNodes = new ArrayList<SqlNode>(); //Identity? Boolean hasIdentityKey = false; //?????? for (EntityHelper.EntityColumn column : columnList) { //? if (column.getSequenceName() != null && column.getSequenceName().length() > 0) { // ifNodes.add(new StaticTextSqlNode(column.getColumn() + ",")); } else if (column.isIdentity()) { if (hasIdentityKey) { throw new RuntimeException(ms.getId() + "" + entityClass.getCanonicalName() + "?MySql,?!"); } //selectKey-MS newSelectKeyMappedStatement(ms, column); hasIdentityKey = true; // ifNodes.add(new StaticTextSqlNode(column.getColumn() + ",")); //?,,??,? sqlNodes.add(new VarDeclSqlNode(column.getProperty() + "_cache", column.getProperty())); } else if (column.isUuid()) { //UUIDbind sqlNodes.add(new VarDeclSqlNode(column.getProperty() + "_bind", getUUID())); ifNodes.add(new StaticTextSqlNode(column.getColumn() + ",")); } else { ifNodes.add(getIfNotNull(column, new StaticTextSqlNode(column.getColumn() + ","))); } } //?sqlNodes sqlNodes.add(new TrimSqlNode(ms.getConfiguration(), new MixedSqlNode(ifNodes), "(", null, ")", ",")); ifNodes = new ArrayList<SqlNode>(); //?values(#{property},#{property}...) for (EntityHelper.EntityColumn column : columnList) { //??, //,,property_cache if (column.isIdentity()) { ifNodes.add(new IfSqlNode(new StaticTextSqlNode("#{" + column.getProperty() + "_cache },"), column.getProperty() + "_cache != null ")); } else { ifNodes.add(new IfSqlNode(new StaticTextSqlNode("#{" + column.getProperty() + "},"), column.getProperty() + " != null ")); } if (column.getSequenceName() != null && column.getSequenceName().length() > 0) { ifNodes.add(getIfIsNull(column, new StaticTextSqlNode(getSeqNextVal(column) + " ,"))); } else if (column.isIdentity()) { ifNodes.add(getIfCacheIsNull(column, new StaticTextSqlNode("#{" + column.getProperty() + " },"))); } else if (column.isUuid()) { ifNodes.add(getIfIsNull(column, new StaticTextSqlNode("#{" + column.getProperty() + "_bind },"))); } } //values(#{property},#{property}...) sqlNodes.add(new TrimSqlNode(ms.getConfiguration(), new MixedSqlNode(ifNodes), "VALUES (", null, ")", ",")); return new MixedSqlNode(sqlNodes); }
From source file:com.github.abel533.mapper.MapperTemplate.java
License:Open Source License
/** * if?sqlNode//ww w .ja v a 2s.c o m * <p><code><if test="property!=null">columnNode</if></code></p> * <p>String<code><if test="property!=null and property!=''">columnNode</if></code></p> * * @param column * @return */ protected SqlNode getIfNotNull(EntityHelper.EntityColumn column, SqlNode columnNode) { if (column.getJavaType().equals(String.class)) { return new IfSqlNode(columnNode, column.getProperty() + " != null and " + column.getProperty() + " != '' "); } return new IfSqlNode(columnNode, column.getProperty() + " != null "); }
From source file:com.github.abel533.mapper.MapperTemplate.java
License:Open Source License
/** * if?sqlNode/* ww w . j av a 2 s . co m*/ * <p><code><if test="property==null">columnNode</if></code></p> * <p>String<code><if test="property==null or property==''">columnNode</if></code></p> * * @param column * @return */ protected SqlNode getIfIsNull(EntityHelper.EntityColumn column, SqlNode columnNode) { if (column.getJavaType().equals(String.class)) { return new IfSqlNode(columnNode, column.getProperty() + " == null or " + column.getProperty() + " == '' "); } return new IfSqlNode(columnNode, column.getProperty() + " == null "); }
From source file:com.github.abel533.mapper.MapperTemplate.java
License:Open Source License
/** * if?sqlNode// w ww.j av a 2 s . c o m * <p><code><if test="property!=null">columnNode</if></code></p> * <p>String<code><if test="property!=null and property!=''">columnNode</if></code></p> * * @param column * @return */ protected SqlNode getIfCacheNotNull(EntityHelper.EntityColumn column, SqlNode columnNode) { if (column.getJavaType().equals(String.class)) { return new IfSqlNode(columnNode, column.getProperty() + "_cache != null and " + column.getProperty() + "_cache != '' "); } return new IfSqlNode(columnNode, column.getProperty() + "_cache != null "); }
From source file:com.github.abel533.mapper.MapperTemplate.java
License:Open Source License
/** * if?sqlNode/* w w w . j a v a 2s . c om*/ * <p><code><if test="property_cache!=null">columnNode</if></code></p> * <p>String<code><if test="property_cache!=null and property_cache!=''">columnNode</if></code></p> * * @param column * @return */ protected SqlNode getIfCacheIsNull(EntityHelper.EntityColumn column, SqlNode columnNode) { if (column.getJavaType().equals(String.class)) { return new IfSqlNode(columnNode, column.getProperty() + "_cache == null or " + column.getProperty() + "_cache == '' "); } return new IfSqlNode(columnNode, column.getProperty() + "_cache == null "); }