武汉课工场Python培训:MyBtis的动态SQL
作为一名优秀的Java后端工程师,不得不说,跟数据库打交道的次数比跟自己女朋友(程序猿没有女朋友,原谅我这个不那么恰当的比喻)一起吃饭的次数都多;所以很多程序员对写SQL是深恶痛绝啊,但是回过头来一想,程序在跟数据库进行交互的时候,不就是靠的SQL来完成的吗?如果连SQL都不写了,那还怎么能更好的了解数据库?怎么跟数据库亲切交流呢?后端工程师岂不是要失业了。
基于以上种种,MyBatis作为一个优秀、轻巧、灵活的持久层框架,既解决了我们和数据库交互的繁琐的代码,同时也满足了我们写SQL的愿望(真正是因为我们自己写SQL的可以优化SQL的执行效率),其中最大的一个特点,就是MyBatis的所提供的动态SQL,这也是它有别于其他ORM框架最大的一个特点,相信大家都使用过JDBC或其他类似框架的经验,你应该能体会到根据不同条件拼接SQL语句有多么难受;经常会因为一个空格或者分号等,到时程序运营错误,动态SQL出现彻底的帮我们摆脱这一痛苦。
所以今天这篇文章,就来跟大家聊一聊MyBatis的动态SQL是怎么样一回事儿,是怎么帮广大程序猿节省出时间去陪女朋友的(哦哦哦...我有错了,程序猿没有女朋友...)
MyBatis给我们提供很多的动态SQL语句,这里我们就说几种常用的动态SQL:
<if>
<choose>
<trim>
<foreach>
标签通常用在批量处理的数据的时候,通常是传递一些集合或者数组的参数,在拼接SQL的时候,就需要先从这些集合或数组总循环取出这些数据,比如:批量插入数据,批量删除数据。
其中在说一些SQL的是,也会说下相关联的动态SQL标签,这部分知识必须要掌握哦。