常用的Mybatis标签介绍(二)

简介: 常用的Mybatis标签介绍(二)

下面主要介绍与<select>标签有关的几个标签的使用

这里先假设有个POJO类叫User,有一张表t_user

ClassUser{
privateLongid;
privateStringname;
privateIntegerage;
//get set}
CREATETABLE `t_user` (  `id` int(11)NOTNULL AUTO_INCREMENT,  `name` varchar(30)NULL DEFAULT NULL,  `age` int(11)NULL DEFAULT NULL,  PRIMARY KEY (`id`) USING BTREE
)

查询一个列表或者一条记录可以使用下面的方式实现

<selectid="getList"parameterType="package.User"resultType="package.User">    SELECT  t.ID,t.name,t.age FROM t_user t
</select>

但是有的时候我们需要通过另外一个<select>标签(id不能重复)实现另外的查询,可能条件不同,可能对返回结果处理有特殊要求的需求,如下

<selectid="getAnotherList"parameterType="package.User"resultType="package.User">  SELECT  t.ID,t.name,t.age FROM t_user t
</select>

可以发现t.ID,t.name,t.age属于重复的部分,那么可不可以只写一遍呢,答案是肯定的,下面就是我们的<sql>和<include>标签要登场了。

<!-- 在 <sql> 标签中定义可重用的 SQL 片段 -->

<sqlid="userFields">  t.ID,t.name,t.age
</sql><selectid="getList"parameterType="package.User"resultType="package.User">  SELECT  <includerefid="userFields"/>  FROM t_user t
</select><selectid="getAnotherList"parameterType="package.User"resultType="package.User">  SELECT  <includerefid="userFields"/> FROM t_user t
</select>

<sql> 标签用于定义可重用的 SQL 片段,类似于定义一个命名的 SQL 片段。在大型的查询或数据库操作中,可能有一些公共的 SQL 语句片段,例如 WHERE 条件、JOIN 条件等。为了避免重复编写这些 SQL 片段,可以使用 <sql> 标签来定义它们。

 

<include> 标签用于在一个 SQL 映射文件中引用之前定义的 <sql> 标签,实现 SQL 片段的重用。通过 <include> 标签,我们可以在不同的地方插入之前定义的 SQL 片段,使代码更加模块化和易于维护。

目录
相关文章
|
Java 数据库连接 mybatis
mybatis的set标签
mybatis的set标签
|
7月前
|
SQL Java 数据库连接
MyBatis【源码探究 01】mapper.xml文件内<if test>标签判断参数值不等于null和空(当参数值为0)时筛选条件失效原因分析
MyBatis【源码探究 01】mapper.xml文件内<if test>标签判断参数值不等于null和空(当参数值为0)时筛选条件失效原因分析
873 0
MyBatis【源码探究 01】mapper.xml文件内<if test>标签判断参数值不等于null和空(当参数值为0)时筛选条件失效原因分析
|
7月前
|
SQL XML Java
Mybatis中选择语句的使用:<choose>标签、分区排序 Row_num() over ()函数的使用呢
Mybatis中选择语句的使用:<choose>标签、分区排序 Row_num() over ()函数的使用呢
62 0
|
SQL Java 数据库连接
mybatis的trim标签insert标签update标签
mybatis的trim标签insert标签update标签
|
3月前
|
SQL XML Java
mybatis复习03,动态SQL,if,choose,where,set,trim标签及foreach标签的用法
文章介绍了MyBatis中动态SQL的用法,包括if、choose、where、set和trim标签,以及foreach标签的详细使用。通过实际代码示例,展示了如何根据条件动态构建查询、更新和批量插入操作的SQL语句。
mybatis复习03,动态SQL,if,choose,where,set,trim标签及foreach标签的用法
|
3月前
|
SQL XML Java
mybatis复习04高级查询 一对多,多对一的映射处理,collection和association标签的使用
文章介绍了MyBatis中高级查询的一对多和多对一映射处理,包括创建数据库表、抽象对应的实体类、使用resultMap中的association和collection标签进行映射处理,以及如何实现级联查询和分步查询。此外,还补充了延迟加载的设置和用法。
mybatis复习04高级查询 一对多,多对一的映射处理,collection和association标签的使用
|
2月前
|
SQL XML Java
Mybatis的<where>,<if>等标签用法
这篇文章详细解释了Mybatis中<where>和<if>等标签的用法,展示了如何在SQL动态构建中有效地过滤条件和处理逻辑分支。
254 1
|
2月前
|
SQL Java 数据库连接
Mybatis入门(select标签)
这篇文章介绍了Mybatis中`select`标签的基本用法及其相关属性,并通过示例展示了如何配置和执行SQL查询语句。
52 0
Mybatis入门(select标签)
|
2月前
|
SQL Java 数据库连接
Mybatis的<insert>,<update>,<delete>标签用法
这篇文章详细讲解了Mybatis中<insert>, <update>, <delete>标签的使用方法,并提供了示例代码来展示如何执行数据库的增删改操作。
107 0
|
Java 数据库连接 mybatis
mybatis的choose,when,otherwize标签
mybatis的choose,when,otherwize标签