1. 程式人生 > >Mybatis-解決欄位名與實體類屬性名不相同的衝突

Mybatis-解決欄位名與實體類屬性名不相同的衝突

案例:

假如存在這樣的表:

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>