动态SQL中的元素
动态SQL是 MyBatis的强大特性之一,MyBatis 3采用了功能强大的基于OGNL的表达过来完成动态SQL。MyBatis动态SQL中的主要元素如下所示。
- :判断语句,用于单条件分支判断。
- ( 、< otherwise>):用于多条件分支判断。
- < where>、 、 :辅助元素,用于处理一些SQL拼装、特殊字符问题。
- :循环语句,常用于in语句等列举条件中。
- :从OGNL表达式中创建一个变量,并将其绑定到上下文,常用于模糊查询的sql中。
元素
、 、 元素
、 元素
映射文件中编写的SQL后面都加入了“where1=1”的条件,是为了保证当条件不成立时,拼接起来的SQL语句在执行时不会报错,即使得SQL不出现语法错误。那么在 MyBatis中,有没有什么办法不用加入“1=1”这样的条件,也能使拼接后的SQL成立呢?针对这种情况, MyBatis提供了< where>元素来处理这样的问题。
元素
元素主要用于更新操作,其主要作用是在动态包含的SQL语句前输出一个SET关键字,并将SQL语句中最后一个多余的逗号去除
update t_user
username=#{username}
jobs=#{jobs}
phone=#{phone}
where id=#{id}
元素
数组和集合循环遍历的方式,那就是使用< foreach>元素
元素
防止SQL注入问题