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

为了简化,微服务项目中使用的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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容