MyBatis进阶二:MyBatis动态SQL;(仅仅涉及【if语句】)

本篇博客的动态SQL,仅仅涉及if语句;【if+where语句】,【if+set语句】,【choose(when,otherwise)语句】,【trim语句】,【SQL片段】,【foreach语句】均没有涉及。 

 案例挺多,其实内容很少,快速浏览效果更佳。

目录

0.动态SQL简介 

动态SQL的使用场景:

Mybatis支持了动态SQL:

1.使用where关键字,而不使用标签

(1)案例1:使用where关键字很容易出错

(2)案例2:使用where关键字很容易出错

(3)案例3:改正:使用“1=1”占位

(4)案例4:理解何为“动态”

2.使用,对【使用where关键字的改进】标签>

(1)案例1:使用标签,不容易出错

(2)案例2:使用标签,能动态组织SQL语句;有舍有得,目的就是确保SQL语句正确

(3)案例3:使用标签,能动态组织SQL语句;有舍有得,目的就是确保SQL语句正确


0.动态SQL简介 

动态SQL的使用场景:

MyBatis进阶二:MyBatis动态SQL;(仅仅涉及【if语句】)_第1张图片

……………………………………………………

Mybatis支持了动态SQL:

MyBatis进阶二:MyBatis动态SQL;(仅仅涉及【if语句】)_第2张图片

(1)一些复杂查询需要使用动态SQL来完成;

(2)上面的标签中的test属性就是用来书写判断条件的;


 

1.使用where关键字,而不使用标签

(1)案例1:使用where关键字很容易出错

MyBatis进阶二:MyBatis动态SQL;(仅仅涉及【if语句】)_第3张图片

MyBatis进阶二:MyBatis动态SQL;(仅仅涉及【if语句】)_第4张图片

 

(2)案例2:使用where关键字很容易出错

MyBatis进阶二:MyBatis动态SQL;(仅仅涉及【if语句】)_第5张图片

MyBatis进阶二:MyBatis动态SQL;(仅仅涉及【if语句】)_第6张图片

运行效果:

MyBatis进阶二:MyBatis动态SQL;(仅仅涉及【if语句】)_第7张图片

 

(3)案例3:改正:使用“1=1”占位

MyBatis进阶二:MyBatis动态SQL;(仅仅涉及【if语句】)_第8张图片

 

(4)案例4:理解何为“动态”

MyBatis进阶二:MyBatis动态SQL;(仅仅涉及【if语句】)_第9张图片

MyBatis进阶二:MyBatis动态SQL;(仅仅涉及【if语句】)_第10张图片

………………………………

又如:

MyBatis进阶二:MyBatis动态SQL;(仅仅涉及【if语句】)_第11张图片

MyBatis进阶二:MyBatis动态SQL;(仅仅涉及【if语句】)_第12张图片


 

2.使用,对【使用where关键字的改进】

MyBatis进阶二:MyBatis动态SQL;(仅仅涉及【if语句】)_第13张图片

(1)案例1:使用标签,不容易出错

MyBatis进阶二:MyBatis动态SQL;(仅仅涉及【if语句】)_第14张图片

MyBatis进阶二:MyBatis动态SQL;(仅仅涉及【if语句】)_第15张图片

 

(2)案例2:使用标签,能动态组织SQL语句;有舍有得,目的就是确保SQL语句正确

MyBatis进阶二:MyBatis动态SQL;(仅仅涉及【if语句】)_第16张图片

MyBatis进阶二:MyBatis动态SQL;(仅仅涉及【if语句】)_第17张图片

 

(3)案例3:使用标签,能动态组织SQL语句;有舍有得,目的就是确保SQL语句正确

MyBatis进阶二:MyBatis动态SQL;(仅仅涉及【if语句】)_第18张图片

MyBatis进阶二:MyBatis动态SQL;(仅仅涉及【if语句】)_第19张图片

你可能感兴趣的:(Mybatis)