mybatis 、、、、标签的使用

mybatis where标签的使用
  where后面跟查询条件 简化sql语句中判断条件的书写
    例:
      


  MyBatis会智能的把首个and 或 or 给忽略
    如果id为null 执行的sql语句为 :
      select * from user where name='xxx' and gender='xxx'

mybatis set标签的使用
  例:
    
      update user
        
          
            id=#{id},
          

          
            name=#{name},
          

          
            gender=#{gender},
          

        

    


如上片段假如都不为null的情况下执行SQL为: update user set id="xx",name='xxx',gender='xxx';
在如上sql中最后一个逗号会被set标记自动忽略不计

mybatis trim标签的使用
  trim 属性
  prefix:前缀
  suffix:后缀
  prefixOverrides:忽略第一个指定分隔符
  suffixOverrides:会略最后一个分隔符
例:
  1)

    

如果id为null执行的sql语句为:
select * from user where name="xxx" and gender="xxx"

2)

  
    update user
      
        
          id=#{id},
        

        
          name=#{name},
        

        
          gender=#{gender}
        

        

  

如果gender为null 执行的sql语句为:
update user set id="xx",name="xx"

 

mybatis foreach标签的使用

可以利用标签实现sql条件的循环,可完成类似批量的sql

  mybatis接受的参数分为:
    (1)基本类型(2)对象(3)List(4)数组(5)Map

  参数:
    collection:要循环的集合
    index:定一个名字,用于表示在迭代过程中,每次迭代到的位置
    item:集合中每一个元素进行迭代时的别名
    open:以什么开始
    close:以什么结束
    separator:循环内容之间以什么分隔
例:
  1)批量添加
    
      insert into user(id,name,gender) values
        
          #{user.id},#{user.name},#{user.gender}
        

    


    若list有两条数据 则执行的sql语句为:
      insert into user(id,name,gender) values ("1","张三","男"),("2","李四","女")

    mapper接口:
      void add(List users);

2)批量删除
      
        delete from user where id in
          
            #{id}
          

      


  如果有两条数据要删除 执行的sql语句为:
    delete from user where id in(1,2)

mybatis sql标签的使用

    通过sql片段达到代码重复利用
      例:
        
          select count(*)
        


        
          select *
        

        
          from user
        

    


      

转载于:https://www.cnblogs.com/lixiujie/p/5766669.html

你可能感兴趣的:(mybatis 、、、、标签的使用)