mybatis where 标签

我们经常在动态构造sql时,为防止注入或防止语句不当时会使用where 1=1

<select id="selectGroupByEmployeeNum" resultMap="BaseResultMap" parameterType="com.dao.impl.ZcChatGroup">select*from zc_chat_group WHERE 1=1<if test="id!=null">id= #{id} </if><if test="leaderNum!=null">and leader_num = #{leaderNum} </if><if test="groupType!=null">and group_type = #{groupType} </if></select>

但在使用where标签可以简化这条语句

<select id="selectGroupByEmployeeNum" resultMap="BaseResultMap" parameterType="com.dao.impl.ZcChatGroup">select*from zc_chat_group <where><if test="id!=null">id= #{id} </if><if test="leaderNum!=null">and leader_num = #{leaderNum} </if><if test="groupType!=null">and group_type = #{groupType} </if></where></select>

这条sql执行时,如果id这个参数为null,则这条语句的执行结果为
select * from zc_chat_group where leader_num = ‘xx’ and group_type = ‘xx’

这个‘where’标签会知道如果它包含的标签中有返回值的话,它就会插入一个‘where’。此外,如果标签返回的内容是以AND 或OR开头的,则会把它去除掉。

mybatis where 标签使用相关推荐

  1. mybatis常用标签和动态查询

    这里是修真院后端小课堂,每篇分享文从 [背景介绍][知识剖析][常见问题][解决方案][编码实战][扩展思考][更多讨论][参考文献] 八个方面深度解析后端知识/技能,本篇分享的是: [mybatis ...

  2. Mybatis if标签和where标签结合巧妙使用

    本文章描述的是 Mybatis if标签和where标签的结合使用 [x1]微信公众号的每日提醒 随时随记 每日积累 随心而过 [x2]各种系列的视频教程 免费开源 关注 你不会迷路 [x3]系列文章 ...

  3. MyBatis 别名标签 sql的复用

    1.MyBatis 别名标签 如果在映射文件中,大量使用类名比较长,可以在sqlMapConfig.xml声明别名, 在映射文件中可以使用别名缩短配置,注意此配置要放在最前面 sqlMapConfig ...

  4. MyBatis 常用标签简单总结

    MyBatis 常用标签简单总结 if 标签:类似于 Java 中的 if 语句 where标签:根据查询条件是否存在,来决定是否生成 where 字符串 set标签:根据查询条件是否存在,来决定是否 ...

  5. Mybatis sql标签使用变量

    Mybatis sql标签使用变量 记录演示 Mybatis 中 sql 标签中使用变量的方法 <?xml version="1.0" encoding="UTF- ...

  6. 【mybatis】mybatis if 标签判断字符串相等

    mybatis if 标签判断字符串相等 mybatis 映射文件中,if 标签判断字符串相等,两种方式: 因为 mybatis 映射文件,是使用的 ognl 表达式,所以在判断字符串 sex 变量是 ...

  7. mybatis foreach标签拼接多字段in ,和union

    mybatis for标签 手写肯定是不可能,复制又经常忘记哪里有,记录一下复制方便 (oracle数据库) 批量添加 ,修改 ,拼接(xx,xx)in , union 添加,修改: <fore ...

  8. 猿创征文|mybatis 字段与数据库关键字冲突了怎么办、mybatis for 循环查询输出、mybatis常用标签

    mybatis 字段与数据库关键字冲突了怎么办 如update join_brand_hot set index = #{top} where id = #{id} 这样明显会因为index与索引关键 ...

  9. mybatis trim标签_MyBatis学习笔记

    MyBatis开发文档: mybatis - MyBatis 3​mybatis.org mapper接口开发的四个规范: XxxMapper.xml配置文件的名称命名空间值必须是mapper接口的全 ...

  10. mybatis sql标签_这谁顶得住?Mybatis 十八连环问

    来自:开源中国,作者:祖大俊 链接:https://my.oschina.net/zudajun/blog/747682 1.#{}和${}的区别是什么? 答:${}是Properties文件中的变量 ...

最新文章

  1. Android-Toolbar相关
  2. git 撤销全部的commit_git 撤销commit
  3. 4.2.2 磁盘调度算法
  4. window安装python3装环境变量_Windows下的Python安装与环境变量的配置
  5. python膨胀卷积_python里有没有轻量级的卷积网络库,不需要训练,只想快速前向计算?...
  6. linux crontab mysqlpump自动备份mysql 免输密码 --login-path
  7. Python+OpenCV:模板匹配(Template Matching)
  8. 可信开发技术专家---阿里云诚聘
  9. HQChart使用教程78-分时图集合竞价
  10. 也谈谈Linux下recv函数的使用
  11. 用VMware克隆CentOS 6.4后HWaddr和UUID的设置
  12. 崔天翼的找工作总结 zz
  13. 不忘初心,能偷懒就偷懒:C#操作Word文件
  14. Java获取指定年月的开始时间和结束时间
  15. 微信每日早安推送给女朋友,小白也可以学会
  16. 什么是面向对象?你是怎么理解面向对象的?为什么要用面向对象?用面向对象有什么好处?
  17. 视频编码标准汇总及比较
  18. Redis工具类封装RedisUtils(两种)
  19. 微信小程序设计规范(官方)文档
  20. 用标号法求最短路径matlab,标号法求最短路径例题分析.ppt

热门文章

  1. 232串口测试方法介绍
  2. SAP系统PP模块常用事务代码
  3. 分布式的坑(队列、缓存、分库分表、事务)
  4. 《UVM实战卷Ⅰ》学习笔记 第五章 UVM验证平台的运行
  5. uniapp 微信小程序 map获取接口数据后地图标注marker不会渲染显示
  6. ABB 机械臂的部分代码
  7. ROS实验笔记之——SLAM无人驾驶初入门
  8. 健康低辐射,信号全覆盖,飞鱼星i-Home覆盖方案上市
  9. 初学太极拳须知--吴公仪
  10. java程序员3-5年职业规划,附源代码