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注解怎么加判断的主要内容,如果未能解决你的问题,请参考以下文章

JAVA求加注解

java 怎么使用注解操作mybatis

java注解是怎么实现的

mapperscannerconfigurer 怎么注解

Java注解和反射以及MyBatis使用注解开发

mybatis中要怎么通过注解使用事务呢?