2019独角兽企业重金招聘Python工程师标准>>>

前言:在使用Mybatis中想将生成的sql片段插入到mappper.xml中的sqls

SQL片段引用方法一:将SQL片段当做参数,使用${}带入参数

DaoMapper:

int updateUserInfo(@Param("uuid2") String uuid2, @Param("updateStr") String updateStr);

mapper.xml

<update id="updateUserInfo" >update yxs_user_info set ${updateStr},update_date=now()where user_uuid = (select uuid from yxs_user_login_info where uuid2=#{uuid2})</update>

参数uuid2值为ABC, updateStr值为  email = ”lhm1830**@163.com“,,最终MyBatis解析后的SQL为:

update yxs_user_info set  email = ”lhm18***@163.com“ ,update_date=now()   where user_uuid = (select uuid from yxs_user_login_info where uuid2="ABC")

注:

1. #{data}将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #{user_id},如果传入的值是ABC,那么解析成SQL时的值为order by "ABC"。

2. ${}将传入的数据直接显示生成在sql中。

3. #方式能够很大程度防止sql注入, $方式无法防止Sql注入。

4. 一般能用#的就别用$。

转载于:https://my.oschina.net/u/2289161/blog/838222

MyBatis 动态SQL与SQL片段相关推荐

  1. Java获取Mybatis动态生成的sql

    前提:已经编写好相应的接口个xml文件 public void exportExcel_bw() throws Exception {//封装sql需要查询的sql的条件Map<String, ...

  2. MyBatis总结七:动态sql和sql片段

    开发中,sql拼接很常见,所以说一下动态sql: 1 if 2 chose,when,otherwise 3 where,set 4 foreach 用法解析(现有一张users表 内有id user ...

  3. 动态SQL及SQL片段、_parameter、#{}和${}的区别

    4. 动态SQL及SQL片段 4.1 if <if test="条件">拼接的sql</if> Mybatis中的if标签用于拼接sql.例如: <s ...

  4. mybatis动态sql及分页

    1. 动态sql简述 mybatis的动态sql语句是基于OGNL表达式的.可以方便的在sql语句中实现某些逻辑. 总体说来mybatis动态SQL语句主要有以下几类: if 语句 (简单的条件判断) ...

  5. Mybatis—动态SQL语句与逆向工程

    Mybatis动态SQL语句与逆向工程 MyBatis动态SQL语句与逆向工程 1.动态SQL语句 1.1.动态SQL是什么 1.2.动态SQL有什么用 1.3.基于XML的实现 1.3.2.接口文件 ...

  6. 一文详解Mybatis动态SQL,建议收藏

    一文详解Mybatis动态SQL,建议收藏 1.动态 SQL 2.IF 3.choose.when.otherwise 4.where 5.set 6.trim 7.SQL片段 8.foreach 1 ...

  7. 详解mybatis动态SQL

    什么是动态SQL? 动态 SQL 是 MyBatis 的强大特性之一.顾名思义,就是会动的SQL,即是能够灵活的根据某种条件拼接出完整的SQL语句.这种类似于MySQL中的 case when the ...

  8. MyBatis动态SQL详解

    一:MyBatis动态 sql 是? 1.动态 SQL 是 MyBatis 的强大特性之一.在 JDBC 或其它类似的框架中,开发人员通常需要手动拼接 SQL 语句.根据不同的条件拼接 SQL 语句是 ...

  9. MyBatis动态SQL语法详解(二)

    文章目录 一.MyBatis查询返回 1.1.MyBatis查询返回对象 1.2.MyBatis查询返回list集合 1.3.MyBatis查询返回Map 1.4.MyBatis查询自定义结果映射规则 ...

  10. Mybatis动态SQL语句大全

    动态 SQL 语句大全 读完这篇文章里你能收获到 Mybatis动态SQL语句大全 Mybatis中如何定义变量 Mybatis中如何提取公共的SQL片段 1.if语句 需求:根据作者名字和博客名字来 ...

最新文章

  1. 【完结】利用 Composer 完善自己的 PHP 框架(三)——Redis 缓存
  2. C#的多线程(2)——机制探索
  3. 你了解过Spring支持的常用数据库事务传播属性和隔离级别吗?来一起看看吧!!!
  4. 获取远程服务器代码到本地文件,获取远程服务器代码到本地文件
  5. 2005/7/15[随便写写]
  6. 调整latex表格_选择LaTeX还是Word的建议
  7. Leetcode每日一题:28.implement-strstr(实现strStr())
  8. 蚂蚁金服自研数据库打败Oracle拿下世界第一;三星手机全面退出中国;微软发布Windows 10X双屏系统 | 极客头条...
  9. hkust ucl 电子工程比较_通信工程专业
  10. 物联网 (IoT) 解决方案:万物互联
  11. Camel可视化操作(结合Gooflow)
  12. 小程序开发工具代码保存编译后,程序没变
  13. php获取客户端和服务器ip,PHP获取客户端和服务器IP地址
  14. 蓝牙5.1定位--蓝牙定位信标--新导智能
  15. DTOJ 4793. 通用测评号
  16. 关于EasyDarwinGo部署海康威视rtsp转hls视频多摄像头的服务器视频转码
  17. 计算机硬件的五大单元以及CPU的种类
  18. 4K(不是价格)电视机选购指南
  19. 视频融合云服务EasyCVR平台部署在云服务器中的配置关键点
  20. 决策树在商业保险中的应用

热门文章

  1. [第5天]nginx环境下404问题
  2. Chrome打开cocos2d-html5官方Demo黑屏
  3. 聚类 6 Affinity Propagation
  4. VirtualBox 安装 win11 虚拟机
  5. SVG 动画(animate、animateTransform、animateMotion)
  6. Java写的一个二叉树三种遍历递归算法(仅用作理解三种遍历)
  7. 微软正式发布 Azure IoT Central
  8. 【开发者笔记】利用ab命令对接口进行压力测试
  9. Android内存优化
  10. 德江多措施推进大数据应用“智慧德江”建设