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

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

Introduction

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

Prototype

public WhereSqlNode(Configuration configuration, SqlNode contents) 

Source Link

Usage

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

License:Open Source License

/**
 * //from   w  w  w  .j a  va 2s  .c  o m
 *
 * @param ms
 * @return
 */
public SqlNode select(MappedStatement ms) {
    Class<?> entityClass = getSelectReturnType(ms);
    //
    setResultType(ms, entityClass);
    List<SqlNode> sqlNodes = new ArrayList<SqlNode>();
    //??sql:select column ... from table
    sqlNodes.add(new StaticTextSqlNode(
            "SELECT " + EntityHelper.getSelectColumns(entityClass) + " FROM " + tableName(entityClass)));
    //if<where>
    sqlNodes.add(new WhereSqlNode(ms.getConfiguration(), getAllIfColumnNode(entityClass)));
    return new MixedSqlNode(sqlNodes);
}

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

License:Open Source License

/**
 * /*from w w w.j a va2 s .c o m*/
 *
 * @param ms
 * @return
 */
public SqlNode selectCount(MappedStatement ms) {
    Class<?> entityClass = getSelectReturnType(ms);
    List<SqlNode> sqlNodes = new ArrayList<SqlNode>();
    //select count(*) from table
    sqlNodes.add(new StaticTextSqlNode("SELECT COUNT(*) FROM " + tableName(entityClass)));
    //?where,if?
    sqlNodes.add(new WhereSqlNode(ms.getConfiguration(), getAllIfColumnNode(entityClass)));
    return new MixedSqlNode(sqlNodes);
}

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

License:Open Source License

/**
 * ?/*w w  w .j  a  v  a2s  .  c o m*/
 *
 * @param ms
 * @return
 */
public SqlNode delete(MappedStatement ms) {
    Class<?> entityClass = getSelectReturnType(ms);
    List<SqlNode> sqlNodes = new ArrayList<SqlNode>();
    //delete from table
    sqlNodes.add(new StaticTextSqlNode("DELETE FROM " + tableName(entityClass)));
    //where/if?
    sqlNodes.add(new WhereSqlNode(ms.getConfiguration(), getAllIfColumnNode(entityClass)));
    return new MixedSqlNode(sqlNodes);
}

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

License:Open Source License

/**
 * ?null/*from  w ww  .ja va2  s . c o  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.github.abel533.mapperhelper.MapperTemplate.java

License:Open Source License

/**
 * Examplewhere/*from  w w  w.j av  a2s  . c o m*/
 *
 * @param configuration
 * @return
 */
public WhereSqlNode exampleWhereClause(Configuration configuration) {
    ForEachSqlNode forEachSqlNode = new ForEachSqlNode(configuration, ExampleValidSqlNode(configuration),
            "oredCriteria", null, "criteria", null, null, " or ");
    WhereSqlNode whereSqlNode = new WhereSqlNode(configuration, forEachSqlNode);
    return whereSqlNode;
}

From source file:com.github.abel533.mapperhelper.MapperTemplate.java

License:Open Source License

/**
 * Example-Updatewhere// ww w .  jav a  2 s .co  m
 *
 * @param configuration
 * @return
 */
public WhereSqlNode updateByExampleWhereClause(Configuration configuration) {
    //?"example.oredCriteria"
    ForEachSqlNode forEachSqlNode = new ForEachSqlNode(configuration, ExampleValidSqlNode(configuration),
            "example.oredCriteria", null, "criteria", null, null, " or ");
    WhereSqlNode whereSqlNode = new WhereSqlNode(configuration, forEachSqlNode);
    return whereSqlNode;
}

From source file:com.hand.hap.mybatis.mapperhelper.MapperTemplate.java

License:Open Source License

/**
 * Examplewhere/*w  ww. j  a  va 2s  .com*/
 *
 * @param configuration
 * @return
 * @deprecated 4.x
 */
@Deprecated
public WhereSqlNode exampleWhereClause(Configuration configuration) {
    ForEachSqlNode forEachSqlNode = new ForEachSqlNode(configuration, ExampleValidSqlNode(configuration),
            "oredCriteria", null, "criteria", null, null, " or ");
    WhereSqlNode whereSqlNode = new WhereSqlNode(configuration, forEachSqlNode);
    return whereSqlNode;
}

From source file:com.hand.hap.mybatis.mapperhelper.MapperTemplate.java

License:Open Source License

/**
 * Example-Updatewhere//from   ww  w .j a v  a 2 s.c  o  m
 *
 * @param configuration
 * @return
 * @deprecated 4.x
 */
@Deprecated
public WhereSqlNode updateByExampleWhereClause(Configuration configuration) {
    //?"example.oredCriteria"
    ForEachSqlNode forEachSqlNode = new ForEachSqlNode(configuration, ExampleValidSqlNode(configuration),
            "example.oredCriteria", null, "criteria", null, null, " or ");
    WhereSqlNode whereSqlNode = new WhereSqlNode(configuration, forEachSqlNode);
    return whereSqlNode;
}

From source file:com.quancheng.mybatis.mapper.hsqldb.HsqldbProvider.java

License:Open Source License

/**
 * // w w w  .jav  a2  s .co  m
 * @param ms
 * @return
 */
public SqlNode selectPage(MappedStatement ms) {
    Class<?> entityClass = getEntityClass(ms);
    //
    setResultType(ms, entityClass);

    List<SqlNode> sqlNodes = new ArrayList<SqlNode>();
    //??sql:select column ... from table
    sqlNodes.add(new StaticTextSqlNode(
            "SELECT " + EntityHelper.getSelectColumns(entityClass) + " FROM " + tableName(entityClass)));
    //?
    Set<EntityColumn> columnList = EntityHelper.getColumns(entityClass);
    List<SqlNode> ifNodes = new ArrayList<SqlNode>();
    boolean first = true;
    //?<if test="property!=null">[AND] column = #{property}</if>
    for (EntityColumn column : columnList) {
        StaticTextSqlNode columnNode = new StaticTextSqlNode(
                (first ? "" : " AND ") + column.getColumn() + " = #{entity." + column.getProperty() + "} ");
        if (column.getJavaType().equals(String.class)) {
            ifNodes.add(new IfSqlNode(columnNode, "entity." + column.getProperty() + " != null and " + "entity."
                    + column.getProperty() + " != '' "));
        } else {
            ifNodes.add(new IfSqlNode(columnNode, "entity." + column.getProperty() + " != null "));
        }
        first = false;
    }
    //entity
    IfSqlNode ifSqlNode = new IfSqlNode(new MixedSqlNode(ifNodes), "entity!=null");
    //if<where>
    sqlNodes.add(new WhereSqlNode(ms.getConfiguration(), ifSqlNode));
    //?
    sqlNodes.add(new IfSqlNode(new StaticTextSqlNode(" LIMIT #{limit}"), "offset==0"));
    sqlNodes.add(new IfSqlNode(new StaticTextSqlNode(" LIMIT #{limit} OFFSET #{offset} "), "offset>0"));
    return new MixedSqlNode(sqlNodes);
}

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

License:Open Source License

/**
 * ?id???/*  www  .j  av  a 2  s  .  c o m*/
 *
 * @param ms
 * @return
 */
public SqlNode select(MappedStatement ms) {
    Class<?> entityClass = getSelectReturnType(ms);
    //
    setResultType(ms, entityClass);
    List<SqlNode> sqlNodes = new LinkedList<SqlNode>();
    //??sql:select column ... from table
    sqlNodes.add(new StaticTextSqlNode(
            "SELECT " + EntityHelper.getSelectColumns(entityClass) + " FROM " + tableName(entityClass)));

    //?
    Set<EntityHelper.EntityColumn> 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);
}