系列教程都是從網絡上收集和本人的理解所編輯而成,僅供廣大愛好者學習所用,請尊重本人的勞動成果。歡迎評論指正和轉帖!(請保留連接謝謝!)
一、接上一個項目,變化地方如下(瞭解即可,不常用)
CatSqlProvider.java
package com.fs;
import org.apache.ibatis.jdbc.SQL;
public class CatSqlProvider {
public String select(Cat cat) {
StringBuffer sql = new StringBuffer("select * from cat where 1=1 ");
if (cat.getCat_name() != null) {
sql.append("and cat_name = #{cat_name}");
} else if (cat.getCat_age() != 0) {
sql.append("and cat_age = #{cat_age}");
}
return sql.toString();
}
public String select2(Cat cat) {
return new SQL() {
{
SELECT("id,cat_name,cat_age");
FROM("cat");
if (cat.getCat_name() != null) {
WHERE("cat_name = #{cat_name}");
} else if (cat.getCat_age() != 0) {
WHERE("cat_age = #{cat_age}");
}
}
}.toString();
}
}
CatMappper.java
@SelectProvider(type = CatSqlProvider.class, method = "select")
@Results({ @Result(property = "updateTime", column = "update_time") })
public List<Cat> select(Cat cat);
@SelectProvider(type = CatSqlProvider.class, method = "select2")
@Results({ @Result(property = "updateTime", column = "update_time") })
public List<Cat> select2(Cat cat);