Example usage for org.apache.ibatis.scripting.xmltags SetSqlNode SetSqlNode

List of usage examples for org.apache.ibatis.scripting.xmltags SetSqlNode SetSqlNode

Introduction

In this page you can find the example usage for org.apache.ibatis.scripting.xmltags SetSqlNode SetSqlNode.

Prototype

public SetSqlNode(Configuration configuration, SqlNode contents) 

Source Link

Usage

From source file:com.github.abel533.mapper.MapperProvider.java

License:Open Source License

/**
 * ?null// w w  w  . ja  v a 2 s  .  co  m
 *
 * @param ms
 * @return
 */
public SqlNode updateByPrimaryKeySelective(MappedStatement ms) {
    Class<?> entityClass = getSelectReturnType(ms);
    List<SqlNode> sqlNodes = new ArrayList<SqlNode>();
    //update table
    sqlNodes.add(new StaticTextSqlNode("UPDATE " + tableName(entityClass)));
    //?
    List<EntityHelper.EntityColumn> columnList = EntityHelper.getColumns(entityClass);
    List<SqlNode> ifNodes = new ArrayList<SqlNode>();
    //if property!=null and property!=''
    for (EntityHelper.EntityColumn column : columnList) {
        StaticTextSqlNode columnNode = new StaticTextSqlNode(
                column.getColumn() + " = #{" + column.getProperty() + "}, ");
        ifNodes.add(getIfNotNull(column, columnNode));
    }
    sqlNodes.add(new SetSqlNode(ms.getConfiguration(), new MixedSqlNode(ifNodes)));
    //?
    columnList = EntityHelper.getPKColumns(entityClass);
    List<SqlNode> whereNodes = new ArrayList<SqlNode>();
    boolean first = true;
    //where =#{property} ?
    for (EntityHelper.EntityColumn column : columnList) {
        whereNodes.add(getColumnEqualsProperty(column, first));
        first = false;
    }
    sqlNodes.add(new WhereSqlNode(ms.getConfiguration(), new MixedSqlNode(whereNodes)));
    return new MixedSqlNode(sqlNodes);
}

From source file:com.sxj.mybatis.orm.builder.GenericStatementBuilder.java

License:Open Source License

private SqlNode getBatchUpdateColumns() {
    List<SqlNode> contents = new ArrayList<SqlNode>();
    for (Field field : columnFields) {
        List<SqlNode> sqlNodes = new ArrayList<SqlNode>();
        if (Date.class.isAssignableFrom(field.getType()) && field.getAnnotation(Column.class) != null
                && field.getAnnotation(Column.class).sysdate() == true) {
            sqlNodes.add(new TextSqlNode(getColumnNameByField(field) + " = now(),"));
        } else {/*from   w  w  w. j a  v a 2 s  .co m*/
            sqlNodes.add(new TextSqlNode(
                    getColumnNameByField(field) + " = #{" + ITEM + "." + field.getName() + "},"));
        }

        contents.add(new IfSqlNode(new MixedSqlNode(sqlNodes), getTestByField(ITEM, field)));
    }
    if (versionField != null)
        contents.add(new TextSqlNode(
                getColumnNameByField(versionField) + "=" + getColumnNameByField(versionField) + "+1"));

    return new SetSqlNode(configuration, new MixedSqlNode(contents));
}

From source file:com.sxj.mybatis.orm.builder.GenericStatementBuilder.java

License:Open Source License

private SqlNode getUpdateColumns() {
    List<SqlNode> contents = new ArrayList<SqlNode>();
    for (Field field : columnFields) {
        List<SqlNode> sqlNodes = new ArrayList<SqlNode>();

        if (Date.class.isAssignableFrom(field.getType()) && field.getAnnotation(Column.class) != null
                && field.getAnnotation(Column.class).sysdate() == true) {
            sqlNodes.add(new TextSqlNode(getColumnNameByField(field) + " = now(),"));
        } else if (!field.isAnnotationPresent(Version.class)) {
            sqlNodes.add(new TextSqlNode(getColumnNameByField(field) + " = #{" + field.getName() + "},"));
        }//from ww w.ja v a 2 s. co m

        contents.add(new IfSqlNode(new MixedSqlNode(sqlNodes), getTestByField(null, field)));
    }
    if (versionField != null) {
        contents.add(new TextSqlNode(
                getColumnNameByField(versionField) + "=" + getColumnNameByField(versionField) + "+1"));
    }

    return new SetSqlNode(configuration, new MixedSqlNode(contents));
}

From source file:message.mybatis.common.provider.MapperProvider.java

License:Open Source License

/**
 * ??null//w w  w .  j av  a  2 s.  c o  m
 *
 * @param ms
 */
public SqlNode update(MappedStatement ms) {
    Class<?> entityClass = getSelectReturnType(ms);
    List<SqlNode> sqlNodes = new LinkedList<SqlNode>();
    //update table
    sqlNodes.add(new StaticTextSqlNode("UPDATE " + tableName(entityClass)));
    //?
    Set<EntityHelper.EntityColumn> columnList = EntityHelper.getColumns(entityClass);
    List<SqlNode> ifNodes = new LinkedList<SqlNode>();
    //if property!=null and property!=''
    for (EntityHelper.EntityColumn column : columnList) {
        if (!column.isId()) {
            StaticTextSqlNode columnNode = new StaticTextSqlNode(
                    column.getColumn() + " = #{" + column.getProperty() + "}, ");
            ifNodes.add(getIfNotNull(column, columnNode));
        }
    }
    sqlNodes.add(new SetSqlNode(ms.getConfiguration(), new MixedSqlNode(ifNodes)));
    //?
    columnList = EntityHelper.getPKColumns(entityClass);
    List<SqlNode> whereNodes = new LinkedList<SqlNode>();
    boolean first = true;
    //where =#{property} ?
    for (EntityHelper.EntityColumn column : columnList) {
        whereNodes.add(getColumnEqualsProperty(column, first));
        first = false;
    }
    sqlNodes.add(new WhereSqlNode(ms.getConfiguration(), new MixedSqlNode(whereNodes)));
    return new MixedSqlNode(sqlNodes);
}

From source file:org.makersoft.activesql.builder.GenericStatementBuilder.java

License:Open Source License

private SqlNode getUpdateColumns() {
    List<SqlNode> contents = new ArrayList<SqlNode>();
    for (Field field : columnFields) {
        List<SqlNode> sqlNodes = new ArrayList<SqlNode>();

        if (Date.class.isAssignableFrom(field.getType()) && field.getAnnotation(Column.class) != null
                && field.getAnnotation(Column.class).sysdate() == true) {
            sqlNodes.add(new TextSqlNode(getColumnNameByField(field) + " = now(),"));
        } else {/* ww w .  ja va  2  s . co  m*/
            sqlNodes.add(new TextSqlNode(getColumnNameByField(field) + " = #{" + field.getName() + "},"));
        }

        contents.add(new IfSqlNode(new MixedSqlNode(sqlNodes), getTestByField(field)));
    }

    return new SetSqlNode(configuration, new MixedSqlNode(contents));
}

From source file:tk.mybatis.mapper.provider.MapperProvider.java

License:Open Source License

/**
 * //from   w w w  .  ja  v  a  2  s  .  c o  m
 *
 * @param ms
 */
public SqlNode updateByPrimaryKey(MappedStatement ms) {
    Class<?> entityClass = getSelectReturnType(ms);
    List<SqlNode> sqlNodes = new LinkedList<SqlNode>();
    //update table
    sqlNodes.add(new StaticTextSqlNode("UPDATE " + tableName(entityClass)));
    //?
    Set<EntityHelper.EntityColumn> columnList = EntityHelper.getColumns(entityClass);
    List<SqlNode> ifNodes = new LinkedList<SqlNode>();
    for (EntityHelper.EntityColumn column : columnList) {
        if (!column.isId()) {
            ifNodes.add(new StaticTextSqlNode(column.getColumn() + " = #{" + column.getProperty() + "}, "));
        }
    }
    sqlNodes.add(new SetSqlNode(ms.getConfiguration(), new MixedSqlNode(ifNodes)));
    //?
    columnList = EntityHelper.getPKColumns(entityClass);
    List<SqlNode> whereNodes = new LinkedList<SqlNode>();
    boolean first = true;
    //where =#{property} ?
    for (EntityHelper.EntityColumn column : columnList) {
        whereNodes.add(getColumnEqualsProperty(column, first));
        first = false;
    }
    sqlNodes.add(new WhereSqlNode(ms.getConfiguration(), new MixedSqlNode(whereNodes)));
    return new MixedSqlNode(sqlNodes);
}

From source file:tk.mybatis.mapper.provider.MapperProvider.java

License:Open Source License

/**
 * ?null/*from w  ww  .  ja  v a  2s .com*/
 *
 * @param ms
 * @return
 */
public SqlNode updateByPrimaryKeySelective(MappedStatement ms) {
    Class<?> entityClass = getSelectReturnType(ms);
    List<SqlNode> sqlNodes = new LinkedList<SqlNode>();
    //update table
    sqlNodes.add(new StaticTextSqlNode("UPDATE " + tableName(entityClass)));
    //?
    Set<EntityHelper.EntityColumn> columnList = EntityHelper.getColumns(entityClass);
    List<SqlNode> ifNodes = new LinkedList<SqlNode>();
    //if property!=null and property!=''
    for (EntityHelper.EntityColumn column : columnList) {
        if (!column.isId()) {
            StaticTextSqlNode columnNode = new StaticTextSqlNode(
                    column.getColumn() + " = #{" + column.getProperty() + "}, ");
            ifNodes.add(getIfNotNull(column, columnNode));
        }
    }
    sqlNodes.add(new SetSqlNode(ms.getConfiguration(), new MixedSqlNode(ifNodes)));
    //?
    columnList = EntityHelper.getPKColumns(entityClass);
    List<SqlNode> whereNodes = new LinkedList<SqlNode>();
    boolean first = true;
    //where =#{property} ?
    for (EntityHelper.EntityColumn column : columnList) {
        whereNodes.add(getColumnEqualsProperty(column, first));
        first = false;
    }
    sqlNodes.add(new WhereSqlNode(ms.getConfiguration(), new MixedSqlNode(whereNodes)));
    return new MixedSqlNode(sqlNodes);
}

From source file:tk.mybatis.mapper.provider.MapperProvider.java

License:Open Source License

/**
 * ?Example?null//from   w  w  w . j  a va2 s.c om
 *
 * @param ms
 * @return
 */
public SqlNode updateByExampleSelective(MappedStatement ms) {
    Class<?> entityClass = getSelectReturnType(ms);
    List<SqlNode> sqlNodes = new LinkedList<SqlNode>();
    //update table
    sqlNodes.add(new StaticTextSqlNode("UPDATE " + tableName(entityClass)));
    //?
    Set<EntityHelper.EntityColumn> columnList = EntityHelper.getColumns(entityClass);
    List<SqlNode> ifNodes = new LinkedList<SqlNode>();

    for (EntityHelper.EntityColumn column : columnList) {
        if (!column.isId()) {
            StaticTextSqlNode columnNode = new StaticTextSqlNode(
                    column.getColumn() + " = #{record." + column.getProperty() + "}, ");
            ifNodes.add(new IfSqlNode(columnNode, "record." + column.getProperty() + " != null"));
        }
    }
    sqlNodes.add(new SetSqlNode(ms.getConfiguration(), new MixedSqlNode(ifNodes)));
    //ExampleWhere
    IfSqlNode ifNullSqlNode = new IfSqlNode(updateByExampleWhereClause(ms.getConfiguration()),
            "_parameter != null");
    sqlNodes.add(ifNullSqlNode);
    return new MixedSqlNode(sqlNodes);
}

From source file:tk.mybatis.mapper.provider.MapperProvider.java

License:Open Source License

/**
 * ?Example/* w w  w.  ja v  a  2 s .  co m*/
 *
 * @param ms
 * @return
 */
public SqlNode updateByExample(MappedStatement ms) {
    Class<?> entityClass = getSelectReturnType(ms);
    List<SqlNode> sqlNodes = new LinkedList<SqlNode>();
    //update table
    sqlNodes.add(new StaticTextSqlNode("UPDATE " + tableName(entityClass)));
    //?
    Set<EntityHelper.EntityColumn> columnList = EntityHelper.getColumns(entityClass);
    List<SqlNode> setSqlNodes = new LinkedList<SqlNode>();
    //if property!=null and property!=''
    for (EntityHelper.EntityColumn column : columnList) {
        if (!column.isId()) {
            setSqlNodes.add(
                    new StaticTextSqlNode(column.getColumn() + " = #{record." + column.getProperty() + "}, "));
        }
    }
    sqlNodes.add(new SetSqlNode(ms.getConfiguration(), new MixedSqlNode(setSqlNodes)));
    //ExampleWhere
    IfSqlNode ifNullSqlNode = new IfSqlNode(updateByExampleWhereClause(ms.getConfiguration()),
            "_parameter != null");
    sqlNodes.add(ifNullSqlNode);
    return new MixedSqlNode(sqlNodes);
}