[刘阳Java]_MyBatis_映射文件的resultMap标签入门_第4讲
<resultMap>:用于解决实体类中属性和表字段名不相同的问题
- id:表示当前<resultMap>标签的唯一标识
- result:定义表字段和实体类属性的对应关系
- property:记录实体类的属性
- column:记录表的字段名称
1.一般我们在配置实体类的时候习惯将实体类中属性名字和字段名称一样,不管在后期维护还是开发过程中可读性比较好。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gxa.mapper.TeamMapper"> <resultMap type="com.gxa.pojo.Team" id="MyUser">
<id column="user_id" property="userId"/>
<result column="user_name" property="user_name"/>
<result column="user_pass" property="user_pass"/>
<result column="user_type" property="user_type"/>
<result column="user_real_name" property="user_real_name"/>
</resultMap> <select id="getUser" resultMap="MyUser">
select * from team
</select> </mapper>
2.但是如果当属性名称和表中列名不一样,则<resultMap>标签就解决在映射中实体和表的关联问题
package com.gxa.pojo;
public class MyUser {
private int userId;
private String userName;
private String userPass;
private String userType;
private String userRealName;
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserPass() {
return userPass;
}
public void setUserPass(String userPass) {
this.userPass = userPass;
}
public String getUserType() {
return userType;
}
public void setUserType(String userType) {
this.userType = userType;
}
public String getUserRealName() {
return userRealName;
}
public void setUserRealName(String userRealName) {
this.userRealName = userRealName;
}
@Override
public String toString() {
return "userId = "+userId+" userName = "+userName+" userPass = "+userPass+" userType="+userType+" userRealName = "+userRealName+"";
}
}
表的字段名称如下,这样子出现和上面代码中实体类MyUser.java的属性名称和字段名称不一样
create table MyUser(
user_id int primary key,
user_name varchar(20),
user_pass varchar(10),
user_type varchar(1),
user_real_name varchar(20)
)
则我们在MyBatis中就需要利用<resultMap>来指定Java类中属性名称和字段名称的对应方式
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gxa.mapper.TeamMapper"> <resultMap type="com.gxa.pojo.Team" id="MyUser">
<id column="user_id" property="userId"/>
<result column="user_name" property="userName"/>
<result column="user_pass" property="userPass"/>
<result column="user_type" property="userType"/>
<result column="user_real_name" property="userRealName"/>
</resultMap> <select id="getUser" resultMap="MyUser">
select * from team
</select> </mapper>
[刘阳Java]_MyBatis_映射文件的resultMap标签入门_第4讲的更多相关文章
- [刘阳Java]_MyBatis_映射文件的select标签入门_第3讲
1.Mybatis映射文件的<select>标签主要帮助我们完成SQL语句查询功能,<select>标签它包含了很多属性,下面简单对<select>标签的属性做一个 ...
- [刘阳Java]_MyBatis_映射文件的常用标签总结_第5讲
MyBatis中常用标签的总结,简单给出自己的总结 MyBatis映射文件中的标签使用介绍1.<select>:用于编写查询语句用的标签 id:表示当前<select>标签的唯 ...
- [刘阳Java]_MyBatis_实体关系映射_第8讲
MyBatis既然是一个ORM框架,则它也有像Hibernate那样的一对多,多对多,多对一的实体关系映射功能.下面我们就来介绍一下如何使用MyBatis的实体关系映射 1.MyBatis实体关系映射 ...
- [刘阳Java]_MyBatis_动态SQL标签用法_第7讲
1.MyBatis的动态SQL是基于OGNL表达式的,它可以帮助我们方便的在SQL语句中实现某些逻辑. 2.MyBatis中用于实现动态SQL的元素主要有 if choose(when,otherwi ...
- [刘阳Java]_MyBatis_注解基本用法_第10讲
MyBatis注解提出,可以说是非常好简化了MyBatis配置文件的使用.下面我们简单地来告诉大家如何使用MyBatis的注解 定义接口 package com.gxa.dao; import jav ...
- [刘阳Java]_MyBatis_常规标签的用法_第6讲
一般MyBatis最基本标签,或者说初学者上手最快的标签就是增删改查 1.<insert>标签,在MyBatis中完成数据添加操作 <insert id="addMyUse ...
- [刘阳Java]_MyBatis_其他方式来实现多表查询的操作_第9讲
MyBatis其他方式来实现多表查询的操作 利用Java中的集合框架(List,Map) 其中List存储多个查询返回的记录 Map查询返回字段,同时记录表中一条数据 <?xml version ...
- MyBatis学习(二)、SQL语句映射文件(1)resultMap
二.SQL语句映射文件(1)resultMap SQL 映射XML 文件是所有sql语句放置的地方.需要定义一个workspace,一般定义为对应的接口类的路径.写好SQL语句映射文件后,需要在MyB ...
- MyBatis学习 之 二、SQL语句映射文件(1)resultMap
目录(?)[-] 二SQL语句映射文件1resultMap resultMap idresult constructor association联合 使用select实现联合 使用resultMap实 ...
随机推荐
- iOS项目中安装和使用 Cocoapods
1.首先我们要打开我们的终端: 2.在终端输入 这条命令 gem sources -l 2.1如果是和我是一样的显示,则镜像已添加,无需更改,如果不一样,则需要进行更改 这里输出的如果是 https ...
- 迁移学习( Transfer Learning )
在传统的机器学习的框架下,学习的任务就是在给定充分训练数据的基础上来学习一个分类模型:然后利用这个学习到的模型来对测试文档进行分类与预测.然而,我们看到机器学习算法在当前的Web挖掘研究中存在着一个关 ...
- jira的使用
http://www.cnblogs.com/yangxia-test/p/4448002.html linux下的安装: http://blog.csdn.net/crave_shy/article ...
- C# List结果集排序
public class Student { public string Name { get; set; } public int Age { get; set; } public Student( ...
- 自己用C语言写dsPIC / PIC24 serial bootloader
了解更多关于bootloader 的C语言实现,请加我QQ: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). HyperBootlo ...
- 使用generator生成排序动画
相信作为一个程序猿,大家应该都已经看过一些排序算法的过程教学动画,现在我来总结一下自己使用ES6的generator实现动画的过程,以作为自己对generator的使用实践的一个记录. 为什么用gen ...
- Lua 5.2 编译 For Windows
body { font-family: 微软雅黑; font-size: 11pt; line-height: 1.5; } html, body { color: #000000; backgrou ...
- 39、重新复习js之三
1.盒子模型典型标签 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http:// ...
- My97DatePicker 日期控制,开始时间不能>结束时间,结束时间不能<开始时间
<li>日期: <input type="text" style="margin-top: 5px;" value="${begin ...
- XML.03-DOM和SAX解析
body,td { font-family: calibri; font-size: 10pt } XML.03-DOM和SAX解析 XML的DOM解析 解析 处理 回写 XML的SAX解析 SAX和 ...