1、创建 sql 提供类。
2、将 sql 提供类,注解到 Mapper类中
1、第一步,编写 sql 语句提供类。
public class SqlProvider {
/**
* 第一种方式
* @param user
* @return
*/
public String getUser(User user){
StringBuffer sql = new StringBuffer("select * from user where 1=1");
if(user.getId()!=0){
sql.append(" and id=#{id} ");
}
if(user.getName()!=null){
sql.append(" and name = #{name}");
}
System.out.println(sql.toString());
return sql.toString();
}
/**
* 第二种方式
* @param user
* @return
*/
public String getUser1(User user) {
return new SQL() {{
SELECT("*");
FROM("user");
if(user.getId()!=0){
WHERE(" id=#{id} ");
}
if(user.getName()!=null){
WHERE(" name = #{name}");
}
}}.toString();
}
}
第二步:在 Mapper 类中添加注解:(完成)
@SelectProvider(type = SqlProvider.class,method = “getUser”)
@SelectProvider(type = SqlProvider.class,method = "getUser")
public List<User> getUser(User user);