使用 MyBatis 实体类里的 double 类型查询不到值。查询实体类时,里面的 Integer 和 String 类型都可以查询到,update 各个属性也都可以修改成功。
因为 MyBatis 开启了驼峰映射自动将数据库里带下划线的属性转换为大写字母。
实体类:
将实体类名的下划线改成大写就可以取到值:
奇怪的是单独取一个 Double 类型的数据将 resultType=“java.lang.Double” 就可以查询到值,放到实体类里一起就只有 Double 类型查询不到(带下划线的属性将 Double 改成 Integer 就可以查询到), resultType=“Double” 也查询不到值。
解决:
使用 resultMap 映射(通过id绑定)。
resultMap 返回的类型会自动去找该类所对应的 map 文件,将数据库中列属性复制到对象的相应属性;使用 resultType 时 MyBatis 对自动把对应的值赋给resultType所指定对象的属性。
11-25
5627
07-31
2302
03-31
406