一、sql标签

  • <sql>用来定义可重用的 SQL 代码片段
<sql id="userColumns"> ${alias}.id,${alias}.username,${alias}.password </sql>
  • SQL 片段的使用,include 标签引用refid属性设置为sql标签id
<select id="selectUsers" resultType="map">select<include refid="userColumns"><property name="alias" value="t1"/></include>,<include refid="userColumns"><property name="alias" value="t2"/></include>from some_table t1cross join some_table t2
</select>
  • 复杂引用sql片段,property 单纯是设置值,然后通过${}调用,实现多sql片段的引用
<sql id="sometable">${prefix}Table
</sql><sql id="someinclude">from<include refid="${include_target}"/>
</sql><select id="select" resultType="map">selectfield1, field2, field3<include refid="someinclude"><property name="prefix" value="Some"/><property name="include_target" value="sometable"/></include>
</select>

二、script标签

要在带注解的映射器接口类中使用动态 SQL,可以使用 script 元素。

 @Update({"<script>","update Author","  <set>","    <if test='username != null'>username=#{username},</if>","    <if test='password != null'>password=#{password},</if>","    <if test='email != null'>email=#{email},</if>","    <if test='bio != null'>bio=#{bio}</if>","  </set>","where id=#{id}","</script>"})void updateAuthorValues(Author author);

通常,直接使用注解开发时,属性时必填的,而利用script标签,就可以自主可为空的情况了

Mybatis---sql、script标签相关推荐

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

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

  2. mybatis sql标签_【1039期】Mybatis面试18问,你想知道的都在这里了!

    1.#{}和${}的区别是什么? 答:${}是Properties文件中的变量占位符,它可以用于标签属性值和sql内部,属于静态文本替换,比如${driver}会被静态替换为com.mysql.jdb ...

  3. Mybatis——mapper.xml中常用的SQL相关标签简介

    题外话:使用Map方式用于传参,也是一种比较方便的方法 Map<String,Object> params = new HashMap<>(); params.put(&quo ...

  4. Mybatis sql标签使用变量

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

  5. MyBatis中动态sql语句标签详解

    动态 SQL 通常写在mapper包下面的地址映射配置文件(.xml)中.根据条件的不同, SQL 语句也会随之动态的改变. MyBatis 中,提供了一组标签用于实现动态 SQL. 动态SQL语句标 ...

  6. Mybatis配置及动态SQL语句标签

    #Mybatis resources: ###db.properties: jdbc.driver = com.mysql.jdbc.Driver jdbc.url = jdbc:mysql://lo ...

  7. java执行sql文件_面试官问你MyBatis SQL是如何执行的?把这篇文章甩给他

    初识 MyBatis MyBatis 是第一个支持自定义 SQL.存储过程和高级映射的类持久框架.MyBatis 消除了大部分 JDBC 的样板代码.手动设置参数以及检索结果.MyBatis 能够支持 ...

  8. 2 MyBatis Sql映射文件

    MyBatis SQL映射文件 文章目录 MyBatis SQL映射文件 1.SQL映射的XML文件 2.select条件查询 3.多条件查询 1.将条件封装成Java对象作为入参 2.将查询条件封装 ...

  9. Mybatis的where标签,还有这么多知识点

    背景 在上篇文章,我们系统地学习了where 1=1 相关的知识点,大家可以回看<不要再用where 1=1了!有更好的写法!>这篇文章.文章中涉及到了Mybatis的替代方案,有好学的朋 ...

  10. Mybatis - xml文件标签中写注释

    Mybatis - xml文件标签中写注释 1.错误场景. ( /* */ 注释 ) 在IDEA中的直接使用快捷键注释 Ctrl + Shift + / 注释. SELECT t.name, t.ag ...

最新文章

  1. Catalyst 2950/2955交换机的RSPAN配置
  2. python读取ini文件utf-16 le_Python文件编码不可以使用UTF16
  3. android onclick执行顺序,错误“无法执行android:onClick的方法”
  4. 面向.NET开发人员的Dapr- actors 构建块
  5. 粘包拆包,Netty及远洋通信中的解决方案!超实用
  6. Linux自学笔记——Ansible
  7. mysql约束与索引的区别
  8. 利用线程池单线程下载网页信息
  9. 铁路售票系统_城轨交通地高铁车站自动售检票(AFC)实训系统解决方案
  10. 色彩空间与色彩深度。详细分析相机中sRGB/AdobeRGB、RAW/JPG到底该怎么选
  11. 一个简单的ZUI多文件上传的demo和sql练习
  12. Java class对象说明 Java 静态变量声明和赋值说明
  13. PPT修行之路(一)
  14. linux编译trinitycore,[MAC] 编译安装和测试《魔兽世界》模拟服务端 TrinityCore
  15. Tableau数据分析-Chapter04标靶图、甘特图、瀑布图
  16. Access to XMLHttpRequest at ‘http127.0.0.18000server‘ from origin ‘http127.0.0.15500‘ has
  17. 转:ARM 与RealView
  18. 【SDK】01 支付宝当面付 - 沙箱环境
  19. 2015年全国计算机一级考试试题及答案,2015全国计算机一级考试Msoffice模拟试题(九)答案及解析...
  20. java添加@Data注解

热门文章

  1. string::npos
  2. 2款私藏已久的宝藏软件,每一款都是心头之爱
  3. 【愚公系列】2021年11月 攻防世界-进阶题-MISC-024(stage1)
  4. PDF页面旋转怎么操作?介绍一个简单方式
  5. python中codecs_Python3 中codecs进行文件的读取
  6. win8计算机虚拟内存,win8电脑虚拟内存设置多少最好
  7. 电信宽带没有路由器也能上无线网
  8. 信封问题(错排算法)
  9. 过滤器、拦截器、监听器
  10. Java如何实现Pdf的导出?