Mybatis动态标签

-深圳-Java-徐铭培-

1.背景介绍

2.知识剖析

3.常见问题

4.解决方案

5.编码实战

6.扩展思考

7.参考文献

8.更多讨论

1.背景介绍

MyBatis是什么?不用MyBatis之前,我们都是通过jdbc驱动的方式去连接数据库,而且还需要自己输入connection、statement这种很多重复,雷同,繁琐的代码。 而如果使用MyBatis,只需要提供关键的SQL语句。其他的工作,像加载驱动,建立连接,Statement, JDBC相关的一些动作交给Mybatis,减少重复性的工作, 更多的关注在增删改查等操作层面上, 把技术细节封装在底层。其中MyBatis 的强大特性之一便是它的动态 SQL。利用动态 SQL 这一特性可以彻底摆脱这种痛苦。

2.知识剖析

MyBatis中的动态SQL中的元素:

像之前使用JDBC去访问数据库,能体会到根据不同条件拼接 SQL 语句有多么痛苦,拼接的时候要确保不能忘了必要的空格,还要注意省掉列名列表最后的逗号。 MyBatis的动态sql正是为了解决这种问题,通过if、choose、when、where、foreach这些标签,可以组成非常灵活的SQL语句,从而提高开发人员的效率。

3.常见问题

标签的使用?

4.解决方案

多写多练

5.编码实战

demo

if&where标签

用动态sql的好处,可以用非常简约的代码实现功能,逻辑比较完善

set标签

update语句里的多个字段使用set标签,比较灵活。避免字段空的时候语法错误

choose标签

MyBatis里面没有else标签,但是可以使用when otherwise标签来达到类似的目的

foreach标签

5.编码实战

6.扩展思考

7.参考文献

CSDN、百度百科、师兄们提供的资料

8.更多讨论

谢谢大家观看,如有问题,恳请批评指正

by:深圳分院 -徐铭培-