前言
Mybatis可谓是java开发者必须会的一项技能。MyBatis 的强大特性之一便是它的动态 SQL。如果你有使用 JDBC 或其它类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句的痛苦。例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL 这一特性可以彻底摆脱这种痛苦。
Mybatis动态sql
mybatis 动态SQL,通过 if, choose, when, otherwise, trim, where, set, foreach等标签,可组合成非常灵活的SQL语句,从而在提高 SQL 语句的准确性的同时,也大大提高了开发人员的效率。本文主要介绍这几个动态SQL.
具体示例
if标签 if就是用来对输入映射的字段进行判断 一般是非空判断 null 和""。
动态SQL <where /> 相当于 where关键字 <where />可以自动处理第一个前and 或者or。 当条件都没有的时候 where也不会加上 。
choose—when--when--otherwise when可以多个 otherwise只能有一个 类似于 switch case。
需求:输入用户id 按照用户id进行精确查找 其他条件不看 没有输入 id 用户名模糊查找 都没有的话 查询id=1的用户
动态sql之set 代替set关键字 set标签可以帮助我们去掉最后一个逗号
Trim,trim代替where
Trim代替set:
Foreach来遍历集合
总结
熟练掌握以上Mysql的动态SQL,我们可以更得心应手的完成我的功能,写更少的代码,实现更多的功能。
想了解更多的技术知识,关注“重庆千锋”获取更多的视频教学资料,重庆千锋也提供两周免费试听课程,大家可以申请试听课程。