MyBatis之动态SQL
1.MyBatis动态SQL简介
动态 SQL是MyBatis强大特性之一。极大的简化我们拼装SQL的操作
动态 SQL 元素和使用 JSTL 或其他类似基于 XML 的文本处理器相似
MyBatis 采用功能强大的基于 OGNL 的表达式来简化操作
if
choose (when, otherwise)
trim (where, set)
foreach
- OGNL( Object Graph Navigation Language )对象图导航语言,这是一种强大的
表达式语言,通过它可以非常方便的来操作对象属性。 类似于我们的EL,SpEL等
访问对象属性: person.name
调用方法: person.getName()
调用静态属性/方法: @java.lang.Math@PI
@java.util.UUID@randomUUID()
调用构造方法: new com.atguigu.bean.Person(‘admin’).name
运算符: +,-*,/,%
逻辑运算符: in,not in,>,>=,<,<=,==,!=
注意:xml中特殊符号如 ” , > , < 等这些都需要使用转义字符
if where
if用于完成简单的判断.
where用于解决SQL语句中where关键字以及条件前面的and或者or的问题
注:可以用and ‘’ 代替转义字符
<select id="getEmployeeByConditionIf" resultType="com.atguigu.mybatis.entities.Employee"> |
set
- set 主要是用于解决修改操作中SQL语句中可能多出逗号的问题
<update id="updateEmployeeByConditionSet"> |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 像一个灯塔一样,燃烧自我,照射光明!