不灭的焱

革命尚未成功,同志仍须努力

作者:php-note.com  发布于:2018-06-10 23:14  分类:Java库/系统 

SQL语句没错的情况下,获取不到 mybatis 返回的数据,原因是映射文件出错。例子:

// 有一个实体类
class test{
    private String myName;
    private int myAge;
    ……      // getter和setter方法
}

// 假设数据库对应的列名分别为 my_name 和 my_age ,表名为 me
// 直接写select语句为
<select id=".." resultType="*.*.test">select my_name,my_age from me</select>
// 时会获取不到数据,因为表的cloumn和实体类的property不一致

解决方法

// 方法一
// 增加resultMap映射
<resultMap id="meMap" resultType="*.*.test">
    <result column="my_name" property="myName" jdbcType="VARCHAR" />
    <result column="my_age" property="myAge" jdbcType="INTEGER" />
</resultMap>
<select id=".." resultMap="meMap">select my_name,my_age from me</select>
 
// 方法二
<select id=".." resultType="*.*.test">select my_name as myName,my_age as myAge from me</select>