Mybatis-lesson05-结果映像-第一课:简单的映射-03-12

第一步: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>
posted @ 2023-03-12 19:38  Rui2022  阅读(10)  评论(0编辑  收藏  举报