Mybatis在注解上怎么实现动态SQL
短信预约 -IT技能 免费直播动态提醒
本文小编为大家详细介绍“Mybatis在注解上怎么实现动态SQL”,内容详细,步骤清晰,细节处理妥当,希望这篇“Mybatis在注解上怎么实现动态SQL”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
在注解上实现动态SQL
使用Mybatis注解实现sql语句,但是有些时候有些字段是空的,这时候这个空的字段就要从条件查询语句中删除,这个时候就需要用到动态Sql。
注解的动态语句支持以下
trim
where
set
foreach
if
choose
when
otherwise
bind
@Select({"<script> " + "select * from t_user " + "where 1=1 " + "<if test='userId!=null'> and id = #{userId}</if> " + "</script>"})
要加上标签就可以实现条件判断
但是在无法使用大于号 、小于号,那如何解决这问题呢,其实只要把大于号、小于号转义即可
注解方式动态sql写法和注意事项
@Select({"<script>" + "select * from tb_examine" + "<where> 1 = 1" + "<if test = \" employeeId != null and employeeId != '' \"> AND employee_id = #{employeeId} </if>" + "<if test = \" gradeId != null and gradeId != '' \"> AND grade_id = #{gradeId} </if>" + "<if test = \" year != null and year != '' \"> AND year like #{year} </if>" + "<if test = \" (statrMonth != null and statrMonth != '') and (endMonth == null or endMonth == '') \"> AND month >= #{statrMonth} </if>" + "<if test = \" (statrMonth == null or statrMonth == '') and (endMonth != null and endMonth != '') \"> AND month <= #{endMonth} </if>" + "<if test = \" (statrMonth != null and statrMonth != '') and (endMonth != null and endMonth != '') \">AND month >= #{statrMonth} AND month <= #{endMonth} </if>" + "</where>" + "</script>"})public List<Examine> getName(Examine examine);
判断字符串为空串 用单引号
大于等于用
小于等于用
读到这里,这篇“Mybatis在注解上怎么实现动态SQL”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341