resultMap结果集映射
就是为了解决数据库字段名和实体类中的属性名不一致的问题
解决这个问题有两种方法:
-
一、其别名(在sql语句中起别名)
-
二、用resultMap结果集映射
测试:!!!!!!
第一步:新建立一个实体类用于测试,把属性修改为要测试的属性,这里把pwd修改为password
//实体测试类(就是为了解决数据库字段名和实体类中的属性名不一致的问题)
public class UserTest {
private long id;
private String name;
private String password;
。。。。get set方法
第二步:在mapper.xml文件中配置结果集映射的信息,进行映射
<!-- 结果集映射-->
<!-- 这里的id为sql语句中的resultMap的值-->
<resultMap id="usermap" type="UserTest">
<result column="id" property="id"/>
<result column="name" property="name"/>
<result column="pwd" property="password"/>
</resultMap>
<select id="userbyid" resultMap="usermap">
select *
from mybatis.user
where id = #{id}
</select>
第三步:测试
// 测试结果集映射
@Test
public void userbyid() {
SqlSession sqlSession = mybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
UserTest userbyid = mapper.userbyid(1);
System.out.println(userbyid);
sqlSession.close();
}
第四步:输出测试的数据,检查时候有变化
UserTest{id=1, name='hello', password='545645646'}