博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mybatis动态sql
阅读量:5079 次
发布时间:2019-06-12

本文共 2401 字,大约阅读时间需要 8 分钟。

一,mybatis 动态sql

  1) mybatis 的动态sql可以对查询条件进行预编译,生成比较灵活的sql语句

二,常用标签

  1)if   :判断传入参数    

     

 
 
   o_ip,         
 

 

  2)where  :    

     

 select * from  sys_inf_user      
          
            o_id = #{oId}          
          
             and o_ip = #{oIp}          
       
        

 

  3)set :      

      

update sys_inf_user      
        
          u_name =#{uName},        
        
          u_pwd =#{uPwd},        
        where u_id = #{uId}      
     
 

 

  4)trim :     

      

    
    
    
    

 

  5)foreach :  

    

    
      
        #{item}      

 三,foreach 使用

   1)批量添加(传入list,list里包含对象)

    1.准备数据:

     命名不规范,只为示例;

ArrayList list = new ArrayList<>();                Test test = new Test();        test.setName("wangwu");        test.setPwd("123");        test.setDizhi("北京");        test.setDianhua("123456789");                Test test2 = new Test();        test2.setName("lisi");        test2.setPwd("123456");        test2.setDizhi("北京,shanghi");        test2.setDianhua("123456789");        list.add(test);        list.add(test2);                int i=testMapper.addTestLists(list);

    

    2.接口

int addTestLists(ArrayList list);

    3.sql

insert into sys_test (name,pwd,dianhua,dizhi) values
(#{item.name},#{item.pwd},#{item.dianhua},#{item.dizhi})

   2)批量删除

      1.准备数据:

  

List
list = new ArrayList
(); list.add(4); list.add(5); list.add(6); list.add(7); list.add(8); int i=testMapper.deleteTest(list);

 

      2.接口:

    

int deleteTest(List
list);

 

      3.sql :

delete from sys_test where id in
#{item}

    3)foreach遍历map

      1)数据准备

    Map
hashMap = new HashMap<>(); hashMap.put("id1", 2); hashMap.put("id2", 10); int i=testMapper.deleteTests(hashMap);

 

      2)接口

int deleteTests(@Param(value="maps")Map
hashMap);

      3)sql

delete from sys_test where id in
#{item}

 

转载于:https://www.cnblogs.com/hi-feng/p/7883918.html

你可能感兴趣的文章
深度学习
查看>>
TCP粘包问题及解决方案
查看>>
构建之法阅读笔记02
查看>>
添加按钮
查看>>
移动端页面开发适配 rem布局原理
查看>>
Ajax中文乱码问题解决方法(服务器端用servlet)
查看>>
会计电算化常考题目一
查看>>
阿里云服务器CentOS6.9安装Mysql
查看>>
剑指offer系列6:数值的整数次方
查看>>
js 过滤敏感词
查看>>
poj2752 Seek the Name, Seek the Fame
查看>>
软件开发和软件测试,我该如何选择?(蜗牛学院)
查看>>
基本封装方法
查看>>
bcb ole拖拽功能的实现
查看>>
生活大爆炸之何为光速
查看>>
bzoj 2456: mode【瞎搞】
查看>>
[Typescript] Specify Exact Values with TypeScript’s Literal Types
查看>>
[GraphQL] Reuse Query Fields with GraphQL Fragments
查看>>
Illustrated C#学习笔记(一)
查看>>
理解oracle中连接和会话
查看>>