Mybatis 05 解决字段名和属性名不一致的冲突

前序工作

1.创建表和数据

CREATE TABLE orders(
	order_id INT PRIMARY KEY AUTO_INCREMENT,
	order_no VARCHAR(20), 
	order_price FLOAT
);
INSERT INTO orders(order_no, order_price) VALUES('aaaa', 23);
INSERT INTO orders(order_no, order_price) VALUES('bbbb', 33);
INSERT INTO orders(order_no, order_price) VALUES('cccc', 22);

2.定义实体类

package com.dhl.beyond.bean;

public class Order {
        private int id;
        private String orderNo;
        private float price;
    //加get和set方法
        

}

3.创建Mapper文件

<?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.dhl.beyond.shiyan5.orderMapper">
    <select id="getOrder" parameterType="int" resultType="Order">
        select * from orders where order_id = #{id}
    </select>

</mapper>
此时,实体类 和 表中字段名不同
结果如下

在这里插入图片描述

Mapper文件中的解决方式一 :使用Sql别名处理

在这里插入图片描述
在这里插入图片描述

Mapper文件中的解决方式二 :使用mybatis内置的 resultMap 键值对进行处理

在这里插入图片描述
在这里插入图片描述

代码结构

在这里插入图片描述

发布了31 篇原创文章 · 获赞 3 · 访问量 1135

猜你喜欢

转载自blog.csdn.net/Beyond_Nothing/article/details/105645642