第一步:pojo的属性和数据库的列名不一样
package com.feijian.pojo;
public class User {
private int id;
private String name;
private String password;
public User() {
}
public User(int id, String name, String password) {
this.id = id;
this.name = name;
this.password = password;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", password='" + password + '\'' +
'}';
}
}
第二步:数据库
第三步:在UserMapper.xml 中增加 resultMap :其中id 的名字就是sql语句中调用的名字。 type 就是实体类pojo的名字 在这个例子中就是User
其实只写有差异的实体类属性名和数据库列名即可,没有变化的可以不显式列出:
<resultMap id="Usermap" type="User">
<!-- <result column="id" property="id"/> 没有变化可不需显式列出-->
<!-- <result column="name" property="name"/> 没有变化可不需显式列出-->
<result column="pwd" property="password"/>
</resultMap>
第四步:在在UserMapper.xml sql语句中 调用上面的resultMap的id名字。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.feijian.dao.UserMapper">
<resultMap id="Usermap" type="User">
<!-- <result column="id" property="id"/> 没有变化可不需显式列出-->
<!-- <result column="name" property="name"/> 没有变化可不需显式列出-->
<result column="pwd" property="password"/>
</resultMap>
<select id="getUserById" resultMap="Usermap">
select * from mybatis.user where id = #{id}
</select>
</mapper>
标签:03,12,name,id,第一课,User,password,public,String
From: https://www.cnblogs.com/RUI2022/p/17208890.html