常用的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
<where>  1=1
<iftest="name!= null and name != ''">    AND t.name like '%${name}%'
</if><choose><whentest='age  != null and age  != 0'>      AND t.age  = #{age }
</when><otherwise>      AND t.age is null
</otherwise></choose></where></select>

这里只是举个例子说明<if>, <choose>, <when>, <otherwise>这几个标签的用法,<if>, <choose>, <when>, <otherwise>用于在XML中实现条件判断和动态SQL语句的构建。


<if> 标签用于在 SQL 查询中包含条件语句片段。通过在 <if> 标签中指定条件表达式,如果该表达式为真(非空或非零),则会包含 <if> 标签中定义的 SQL 语句。如果表达式为假(空或零),则 <if> 标签中定义的 SQL 语句不会包含在最终的 SQL 查询中。


<choose> 标签用于在多个条件中选择一个成立的语句片段,类似于 Java 中的 switch 语句。它可以包含多个 <when> 标签和一个可选的 <otherwise> 标签。当 <choose> 遇到第一个满足条件的 <when> 标签时,它将包含该 <when> 标签中定义的 SQL 语句,并且忽略后续的 <when> 标签和 <otherwise> 标签。

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