12、动态SQL
动态SQL:就是根据不同条件生成不同的SQL语句
如果你之前用过 JSTL 或任何基于类 XML 语言的文本处理器,你对动态 SQL 元素可能会感觉似曾相识。在 MyBatis 之前的版本中,需要花时间了解大量的元素。借助功能强大的基于 OGNL 的表达式,MyBatis 3 替换了之前的大部分元素,大大精简了元素种类,现在要学习的元素种类比原来的一半还要少。
搭建环境:
创建一个基础工程
1、导包
2、编写配置文件
3、编写实体类
4、编写实体类对应Mapper接口和Mapper.xml文件
IF:
注意where 1=1 和 后面if 匹配的sql语句 如果没有where可能会报错
一般写where 后面第一条if 语句中sql不写and
choose(when,otherwise):
trim(where,set):
所谓的动态SQL,本质还是SQL语句,只是我们在SQL层面,去执行一段逻辑代码