mybatis java注解怎么加判断
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis java注解怎么加判断相关的知识,希望对你有一定的参考价值。
1、用script标签包围,然后像xml语法一样书写@Select("<script>",
"SELECT * FROM tbl_order",
"WHERE 1=1",
"<when test=\'title!=null\'>",
"AND mydate = #mydate",
"</when>",
"</script>")
2、用Provider去实现SQL拼接,例如:
public class OrderProvider
private final String TBL_ORDER = "tbl_order";
public String queryOrderByParam(OrderPara param)
SQL sql = new SQL().SELECT("*").FROM(TBL_ORDER);
String room = param.getRoom();
if (StringUtils.hasText(room))
sql.WHERE("room LIKE #room");
Date myDate = param.getMyDate();
if (myDate != null)
sql.WHERE("mydate LIKE #mydate");
return sql.toString();
public interface OrderDAO
@SelectProvider(type = OrderProvider.class, method = "queryOrderByParam")
List<Order> queryOrderByParam(OrderParam param);
注意:方式1有个隐患就是当传入参数为空的时候,可能会造成全表查询。
复杂SQL用方式2会比较灵活(当然,并不建议写复杂SQL),而且可以抽象成通用的基类,使每个DAO都可以通过这个基类实现基本的通用查询,原理类似Spring JDBC Template。 参考技术A 把“,”改成“+”才可以用。
以上是关于mybatis java注解怎么加判断的主要内容,如果未能解决你的问题,请参考以下文章