ResultMap:
实体类属性名和数据库字段名称不一致解决方法:
实体类属性
public class User{
private int id;
private String username;}
数据库表字段
java中实体类中的属性和数据库中的字段必须一致,但是在2者不一致的情况程序会出现各种问题,解决方法如下:
1.可以在相应的xxxMpper.xml中找到的相应的sql语句起别名从而保持实体属性名和字段名称一致
<select id="getListUser" resultMap="map">
select id,name as **username** user
</select>
2.根据ResultMap结果集进行处理
<!--结果集映射 column(列):数据库字段 property(属性):实体类中属性-->
<resultMap id="map" type="User">
<result column="id" property="id"/>
<result column="name" property="username"/>
</resultMap>
< select id="getListUser" resultMap="map">
select id,name from user
</select>
创建 resultMap标签,id属性引进具体执行的sql语句将resultType返回类型改成resultMap,resultMap标签中type表示实体类型,result标签中的column表示数据库字段名称 propert属性表示实体类中的属性名称,两者属性表示返回的结果一样;
ResultMap优化后里面只添加java中实体类中的属性和数据库中的字段不一致的字段
<!--结果集映射 column(列):数据库字段 property(属性):实体类中属性-->
<resultMap id="map" type="User">
<result column="name" property="username"/>
</resultMap>
< select id="getListUser" resultMap="map">
select id,name from user
</select>