myBatis 标签使用小计,Set、 Where、 forEach标签的使用

	1、set 标签的使用,自动帮助我们把最后一个逗号给去掉了
  
    update table 
    
      name = #{name},
      gender = #{gender},
    
    where id = #{id}
  
	生成的sql: update table set name='xxx' ,  gender='xx'    where  id='x'
	

   2、where 标签的使用,去掉第一个and或者是or   prefix:前缀 prefixoverride:去掉第一个and或者是or 
  select * from table 
  
     AND name=#{name}
     AND gender=#{gender}
  
	生成的sql: select * from table where  name = 'xx' and gender = 'xx'
    

	2、1  suffix:后缀  uffixoverride:去掉最后一个逗号
  update table
  
     name=#{name} , 
     gender=#{gender} ,  
  

  生成的sql: update table set name='xx' , gender='xx'  where id='x'

	3、where 标记会自动将其后第一个条件的and或者是or给忽略掉
       

  在上述SQL中加入ID的值为null的话,生成的sql: select * from user where name="xx" and gender="xx"

	foreach标签主要用于构建in条件,他可以在sql中对集合进行迭代。如下:
   
    delete from user where id in
    
      #{id}
    
  

    collection :collection属性的值有三个分别是list、array、map三种,分别对应的参数类型为:List、数组、map集合
    item : 表示在迭代过程中每一个元素的别名
    index :表示在迭代过程中每次迭代到的位置(下标)
    open :前缀
    close :后缀

    separator :分隔符,表示迭代时每个元素之间以什么分隔

 

你可能感兴趣的:(sql)