List of usage examples for org.apache.ibatis.scripting.xmltags VarDeclSqlNode VarDeclSqlNode
public VarDeclSqlNode(String var, String exp)
From source file:com.github.abel533.mapper.MapperProvider.java
License:Open Source License
/** * ?//from ww w. ja v a2 s . c o m * * @param ms * @return */ public SqlNode insert(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); //Identity? Boolean hasIdentityKey = false; //? for (EntityHelper.EntityColumn column : columnList) { //?sql???? if (column.getSequenceName() != null && column.getSequenceName().length() > 0) { } else if (column.isIdentity()) { //Identity??selectKey //?Identity if (hasIdentityKey) { throw new RuntimeException(ms.getId() + "" + entityClass.getCanonicalName() + "?MySql,?!"); } //?selectKey newSelectKeyMappedStatement(ms, column); hasIdentityKey = true; //?,,??,? //bind sqlNodes.add(new VarDeclSqlNode(column.getProperty() + "_cache", column.getProperty())); } else if (column.isUuid()) { //uuid?bind sqlNodes.add(new VarDeclSqlNode(column.getProperty() + "_bind", getUUID())); } } //?(??,??...) sqlNodes.add(new StaticTextSqlNode("(" + EntityHelper.getAllColumns(entityClass) + ")")); List<SqlNode> ifNodes = new ArrayList<SqlNode>(); //?values(,...) for (EntityHelper.EntityColumn column : columnList) { //,property!=null //,,property_cache,?? if (column.isIdentity()) { ifNodes.add(getIfCacheNotNull(column, new StaticTextSqlNode("#{" + column.getProperty() + "_cache },"))); } else { //?property ifNodes.add(getIfNotNull(column, new StaticTextSqlNode("#{" + column.getProperty() + "},"))); } //null??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 },"))); } else { //null?jdbcTypeoracle?VARCHAR?? ifNodes.add(getIfIsNull(column, new StaticTextSqlNode("#{" + column.getProperty() + ",jdbcType=VARCHAR},"))); } } //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.MapperProvider.java
License:Open Source License
/** * ??null// ww w . jav a2 s .co 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:message.mybatis.common.provider.MapperProvider.java
License:Open Source License
/** * ?null???//from w w w. j a v a2 s. c o m * * @param ms * @return */ public SqlNode inert(MappedStatement ms) { Class<?> entityClass = getSelectReturnType(ms); List<SqlNode> sqlNodes = new LinkedList<SqlNode>(); //insert into table sqlNodes.add(new StaticTextSqlNode("INSERT INTO " + tableName(entityClass))); //? Set<EntityHelper.EntityColumn> columnList = EntityHelper.getColumns(entityClass); List<SqlNode> ifNodes = new LinkedList<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()) { //?,,??,? sqlNodes.add(new VarDeclSqlNode(column.getProperty() + "_cache", column.getProperty())); if (hasIdentityKey) { //jdbc?? if (column.getGenerator() != null && column.getGenerator().equals("JDBC")) { continue; } throw new RuntimeException(ms.getId() + "" + entityClass.getCanonicalName() + "?MySql,?!"); } //selectKey-MS newSelectKeyMappedStatement(ms, column); hasIdentityKey = true; // ifNodes.add(new StaticTextSqlNode(column.getColumn() + ",")); } 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 LinkedList<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:tk.mybatis.mapper.provider.MapperProvider.java
License:Open Source License
/** * ?/* www .j a v a2 s .co m*/ * * @param ms * @return */ public SqlNode insert(MappedStatement ms) { Class<?> entityClass = getSelectReturnType(ms); List<SqlNode> sqlNodes = new LinkedList<SqlNode>(); //insert into table sqlNodes.add(new StaticTextSqlNode("INSERT INTO " + tableName(entityClass))); //? Set<EntityHelper.EntityColumn> columnList = EntityHelper.getColumns(entityClass); //Identity? Boolean hasIdentityKey = false; //? for (EntityHelper.EntityColumn column : columnList) { //?sql???? if (column.getSequenceName() != null && column.getSequenceName().length() > 0) { } else if (column.isIdentity()) { //?,,??,? //bind sqlNodes.add(new VarDeclSqlNode(column.getProperty() + "_cache", column.getProperty())); //Identity??selectKey //?Identity if (hasIdentityKey) { //jdbc?? if (column.getGenerator() != null && column.getGenerator().equals("JDBC")) { continue; } throw new RuntimeException(ms.getId() + "" + entityClass.getCanonicalName() + "?MySql,?!"); } //?selectKey newSelectKeyMappedStatement(ms, column); hasIdentityKey = true; } else if (column.isUuid()) { //uuid?bind sqlNodes.add(new VarDeclSqlNode(column.getProperty() + "_bind", getUUID())); } } //?(??,??...) sqlNodes.add(new StaticTextSqlNode("(" + EntityHelper.getAllColumns(entityClass) + ")")); List<SqlNode> ifNodes = new LinkedList<SqlNode>(); //?values(,...) for (EntityHelper.EntityColumn column : columnList) { //,property!=null //,,property_cache,?? if (column.isIdentity()) { ifNodes.add(getIfCacheNotNull(column, new StaticTextSqlNode("#{" + column.getProperty() + "_cache },"))); } else { //?property ifNodes.add(getIfNotNull(column, new StaticTextSqlNode("#{" + column.getProperty() + "},"))); } //null??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 },"))); } else { //null?jdbcTypeoracle?VARCHAR?? ifNodes.add(getIfIsNull(column, new StaticTextSqlNode("#{" + column.getProperty() + ",jdbcType=VARCHAR},"))); } } //values(#{property},#{property}...) sqlNodes.add(new TrimSqlNode(ms.getConfiguration(), new MixedSqlNode(ifNodes), "VALUES (", null, ")", ",")); return new MixedSqlNode(sqlNodes); }
From source file:tk.mybatis.mapper.provider.MapperProvider.java
License:Open Source License
/** * ??null//from ww w. ja v a 2 s . c om * * @param ms * @return */ public SqlNode insertSelective(MappedStatement ms) { Class<?> entityClass = getSelectReturnType(ms); List<SqlNode> sqlNodes = new LinkedList<SqlNode>(); //insert into table sqlNodes.add(new StaticTextSqlNode("INSERT INTO " + tableName(entityClass))); //? Set<EntityHelper.EntityColumn> columnList = EntityHelper.getColumns(entityClass); List<SqlNode> ifNodes = new LinkedList<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()) { //?,,??,? sqlNodes.add(new VarDeclSqlNode(column.getProperty() + "_cache", column.getProperty())); if (hasIdentityKey) { //jdbc?? if (column.getGenerator() != null && column.getGenerator().equals("JDBC")) { continue; } throw new RuntimeException(ms.getId() + "" + entityClass.getCanonicalName() + "?MySql,?!"); } //selectKey-MS newSelectKeyMappedStatement(ms, column); hasIdentityKey = true; // ifNodes.add(new StaticTextSqlNode(column.getColumn() + ",")); } 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 LinkedList<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); }