常用的Mybatis标签介绍(四)

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

与<select>标签有关的还有一个重要的标签就是结果集映射标签<resultMap>

这里先假设有个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>标签返回值是以resultType指定的具体po类,其实大多数是数据库中的表字段跟我们po里的属性是不一致的,这个时候需要做一一映射,这也是Mybatis框架的核心精髓概念。下面我们用<resultMap>标签替换一下写法

<resultMapid="UserMap"type="package.User"><idcolumn="id"property="id"jdbcType="INTEGER"/><resultcolumn="name"property="name"/><resultcolumn="age "property="age "/></resultMap><selectid="getList"parameterType="package.User"resultMap="UserMap">  SELECT  t.ID,t.name,t.age FROM t_user t
</select>

上面的写法不光可以解决单表的属性列有po中字段属性值不一致的问题,还可以解决多表关联属性列相同的情况下,以不一样的别名对应到po中字段属性上去的情况。可以说作用很大,下面就官方解释来学习一下这个标签。

<resultMap> 标签是 MyBatis 中用于定义结果集与 Java 对象之间映射规则的标签。通过使用 <resultMap> 标签,你可以明确指定数据库查询结果中的列与 Java 对象属性之间的对应关系,从而将数据库查询结果自动映射到 Java 对象中。

 

通常情况下,MyBatis 可以通过列名和属性名的命名规则自动进行简单的映射,但是在一些特殊情况下,数据库列名和 Java 对象属性名可能不一致,或者需要进行类型转换。这时候就需要使用 <resultMap> 标签来指定映射规则。

目录
相关文章
|
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标签