MyBatis 动态SQL

动态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注入问题


	

你可能感兴趣的:(MyBatis 动态SQL)