MyBatis在注解上使用动态SQL(@select使用if)

2018-11-14  本文已影响0人  zhuyuansj

为了简化,微服务项目中使用的mybatis没有用传统的xml的mapper层,而是写在了java代码中,那如何在@Select的注解中判断传入是空的情况呢。以下是我的代码


image.png

效果图:

image.png
 /**
     * @Author: sunjian
     * @Description:  if device_id==null,carNo==null不传入
     * @Date: ${DATE} ${TIME}
     */
    @Select({"<script>",
            "SELECT * FROM order_info",
            "WHERE 1=1",
            "<when test='deviceId!=null'>",
            "AND device_id = #{deviceId}",
            "</when>",
            "<when test='carNo!=null'>",
            "AND car_no = #{carNo}",
            "</when>",
            " AND STATUS != '已支付'",
            "AND TO_DAYS(created_date) = TO_DAYS(NOW()) ",
            "</script>"})
    List<OrderInfo> querycarno(@Param("carNo") String carNo,@Param("deviceId") String deviceId);

参考文献:
MyBatis在注解上使用动态SQL

上一篇下一篇

猜你喜欢

热点阅读