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