Mybatis-解决字段名与实体类属性名不相同的冲突

来源:互联网 发布:外文电子图书数据库有 编辑:程序博客网 时间:2024/04/25 19:24

案例:

假如存在这样的表:

CREATE TABLE orders(order_id number(10),order_no VARCHAR(20),order_price number(10),);

而我们用的实体类:

public class Order {private int id;private String orderNo;private float price;}
怎么解决字段映射的冲突,这里有两种办法可以解决这种冲突:

方式一: 通过在 sql 语句中定义别名
<select id="selectOrder" parameterType="int" resultType="_Order">
select order_id id, order_no orderNo,order_price price from orders where order_id=#{id}
</select>
方式二: 通过<resultMap>
<select id="selectOrderResultMap" parameterType="int" resultMap="orderResultMap">
select * from orders where order_id=#{id}
</select>
<resultMap type="_Order" id="orderResultMap">
<id property="id" column="order_id"/>
<result property="orderNo" column="order_no"/>
<result property="price" column="order_price"/>
</resultMap>

1 0