栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

mybatis精讲(七)--动态sql

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

mybatis精讲(七)--动态sql

[TOC]

在我们传统的开发中我们会通过拼接sql达到数据库的操作。java中的拼接不仅效率低下而且代码很长不易维护。而Mybatis通过代理模式实现SQL语句的组装。简洁易懂。

常用标签
元素 作用 备注
if 判断语句 条件分支
choose switch 多条件分支
trim 去除空字符 特殊处理
foreach 集合循环 遍历
if元素
  • if元素是常用的语句,常常在where内部和test结合使用。
  • 在大部分if使用简单。比如我们在查询的时候就可以动态添加name字段。


    select id,name,user_sex from User
    
 
     and name like concat('%',concat(#{name},'%'))
 
    


  • 上面的sql实现的效果就是如果方法中传递了name参数则以name为条件查询数据。如果没有传递name 则是全表查询数据
choose元素
  • choose类似于java中的switch。类似的标签还有when 、 otherwise元素


    select id , name , user_sex from User
      
 
     and name like concat('%',concat(#{name},'%'))
 
    


  • trim元素就意味着我们需要去掉一些特殊字符串。prefix代表的语句的前缀。而prefexOverrides代表的是你需要去掉的字符串。上面的写法基本与where是等效的。update中使用set也是和trim是等效的。
forearch
  • forearch元素就是一个集合遍历。在我们开发中也是常用的一种数据



    
    select id , name , user_sex from User
    where name like #{pattern}


  • 上面的_parameter代表的就是传递进来的参数,他和通配符连接后,赋给了pattern。我们就可以在select语句中使用这个变量进行模糊查询了。不管是Mysql还是Oracle数据库都可以使用这样进行查询。
转载请注明:文章转载自 www.mshxw.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号