Mybatis-解決欄位名與實體類屬性名不相同的衝突
阿新 • • 發佈:2019-02-06
案例:
假如存在這樣的表:
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>