Mybatis
解决属性名和字段名不一致的问题
resultMap
方案一:为列名指定别名 , 别名和java实体类的属性名一致 .
1 2 3
| <select id="selectUserById" resultType="User"> select id , name , pwd as password from user where id = #{id} </select>
|
方案二:使用结果集映射->ResultMap 【推荐】
1 2 3 4 5 6 7 8 9 10 11
| <resultMap id="UserMap" type="User"> <!-- id为主键 --> <id column="id" property="id"/> <!-- column是数据库表的列名 , property是对应实体类的属性名 --> <result column="name" property="name"/> <result column="pwd" property="password"/> </resultMap>
<select id="selectUserById" resultMap="UserMap"> select id , name , pwd from user where id = #{id} </select>
|
ResultMap设计思想时:对于简单的语句根本不需要配置显示的结果映射,而对于复杂的语句,只需要描述它们之间的关系就行了
ResultMap
最优秀的地方在于,虽然你已经对它相当了解了,但是根本就不需要显式地用到他们。
如果世界总是这么简单就好了