User实体对象的属性:
private String id;
private String secretKey;
private String openAppKey;
对应数据库字段:
ID varchar(32)
SECRET_KEY varchar(255)
app_key varchar(50)
MyBatis配置文件:
<select id="getUserByOpenId" resultType="com.test.User">
SELECT *
FROM SYSTEM_USER
WHERE open_id = #{openId}
</select>
问题:
查询后,User实体对象getOpenAppKey()为null。
解决方法:
方法1:直接修改查询语句
<select id="getUserByOpenId" resultType="com.test.User">
SELECT ID, SECRET_KEY, app_key as open_app_key
FROM SYSTEM_USER
WHERE open_id = #{openId}
</select>
方法2:新增配置:
<resultMap id="BaseResultMap" type="com.test.User">
<id column="ID" property="id"/>
<result column="SECRET_KEY" property="secretKey"/>
<result column="app_key" property="openAppKey"/>
</resultMap>
修改配置:
<select id="getUserByOpenId" resultMap="BaseResultMap">
SELECT *
FROM SYSTEM_USER
WHERE open_id = #{openId}
</select>