Mybatis---sql、script标签
一、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标签相关推荐
- mybatis sql标签_这谁顶得住?Mybatis 十八连环问
来自:开源中国,作者:祖大俊 链接:https://my.oschina.net/zudajun/blog/747682 1.#{}和${}的区别是什么? 答:${}是Properties文件中的变量 ...
- mybatis sql标签_【1039期】Mybatis面试18问,你想知道的都在这里了!
1.#{}和${}的区别是什么? 答:${}是Properties文件中的变量占位符,它可以用于标签属性值和sql内部,属于静态文本替换,比如${driver}会被静态替换为com.mysql.jdb ...
- Mybatis——mapper.xml中常用的SQL相关标签简介
题外话:使用Map方式用于传参,也是一种比较方便的方法 Map<String,Object> params = new HashMap<>(); params.put(&quo ...
- Mybatis sql标签使用变量
Mybatis sql标签使用变量 记录演示 Mybatis 中 sql 标签中使用变量的方法 <?xml version="1.0" encoding="UTF- ...
- MyBatis中动态sql语句标签详解
动态 SQL 通常写在mapper包下面的地址映射配置文件(.xml)中.根据条件的不同, SQL 语句也会随之动态的改变. MyBatis 中,提供了一组标签用于实现动态 SQL. 动态SQL语句标 ...
- Mybatis配置及动态SQL语句标签
#Mybatis resources: ###db.properties: jdbc.driver = com.mysql.jdbc.Driver jdbc.url = jdbc:mysql://lo ...
- java执行sql文件_面试官问你MyBatis SQL是如何执行的?把这篇文章甩给他
初识 MyBatis MyBatis 是第一个支持自定义 SQL.存储过程和高级映射的类持久框架.MyBatis 消除了大部分 JDBC 的样板代码.手动设置参数以及检索结果.MyBatis 能够支持 ...
- 2 MyBatis Sql映射文件
MyBatis SQL映射文件 文章目录 MyBatis SQL映射文件 1.SQL映射的XML文件 2.select条件查询 3.多条件查询 1.将条件封装成Java对象作为入参 2.将查询条件封装 ...
- Mybatis的where标签,还有这么多知识点
背景 在上篇文章,我们系统地学习了where 1=1 相关的知识点,大家可以回看<不要再用where 1=1了!有更好的写法!>这篇文章.文章中涉及到了Mybatis的替代方案,有好学的朋 ...
- Mybatis - xml文件标签中写注释
Mybatis - xml文件标签中写注释 1.错误场景. ( /* */ 注释 ) 在IDEA中的直接使用快捷键注释 Ctrl + Shift + / 注释. SELECT t.name, t.ag ...
最新文章
- Catalyst 2950/2955交换机的RSPAN配置
- python读取ini文件utf-16 le_Python文件编码不可以使用UTF16
- android onclick执行顺序,错误“无法执行android:onClick的方法”
- 面向.NET开发人员的Dapr- actors 构建块
- 粘包拆包,Netty及远洋通信中的解决方案!超实用
- Linux自学笔记——Ansible
- mysql约束与索引的区别
- 利用线程池单线程下载网页信息
- 铁路售票系统_城轨交通地高铁车站自动售检票(AFC)实训系统解决方案
- 色彩空间与色彩深度。详细分析相机中sRGB/AdobeRGB、RAW/JPG到底该怎么选
- 一个简单的ZUI多文件上传的demo和sql练习
- Java class对象说明 Java 静态变量声明和赋值说明
- PPT修行之路(一)
- linux编译trinitycore,[MAC] 编译安装和测试《魔兽世界》模拟服务端 TrinityCore
- Tableau数据分析-Chapter04标靶图、甘特图、瀑布图
- Access to XMLHttpRequest at ‘http127.0.0.18000server‘ from origin ‘http127.0.0.15500‘ has
- 转:ARM 与RealView
- 【SDK】01 支付宝当面付 - 沙箱环境
- 2015年全国计算机一级考试试题及答案,2015全国计算机一级考试Msoffice模拟试题(九)答案及解析...
- java添加@Data注解