Mybatis中当实体类中的属性名和表中的字段名不一致时--如何解决呢?
下文笔者讲述mybatis中实体类中属性名和表名字段不一致时的处理方法分享,如下所示
查询SQL语句中定义字段名的别名
方式1:
sql获取数据时
使用别名,让别名和实体中属性名一致
方式2:
在mybatis的xml文件中使用resultMap定义字段名和属性名的映射
例:
查询SQL语句中定义字段名的别名
让字段名的别名和实体类的属性名一致
<select id="getOrder" parameterType="int" resultType="com.java265.pojo.Order">
select order_id id, order_no orderno ,order_price price form orders where order_id=#{id};
</select>
使用<resultMap>来映射字段名和实体类属性名的一一对应关系
<select id="getOrder" parameterType="int" resultMap="orderResultMap">
select * from orders where order_id=#{id}
</select>
<resultMap type="com.java265.pojo.Order" id="orderResultMap">
<!–用id属性来映射主键字段–>
<id property="id" column="order_id">
<!–用result属性来映射非主键字段,property为实体类属性名,column为数据库表中的属性–>
<result property ="orderno" column ="order_no"/>
<result property="price" column="order_price" />
</reslutMap>
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


