Mybatis之解决属性名和字段名不一致的问题
Mybatis
5、解决属性名和字段名不一致的问题
5.1、问题提出
-
数据库中的字段。
-
user表 id name pwd
-
-
新建一个项目,拷贝之前的,测试实体类字段不一致的情况。
-
//实体类 public class User { private int id; private String name; private String password;//不一致 ...... } -
测试出现问题
-
User{id=2, name='6', password='null'} -
//select * from user where id= #{id}; //类型处理器 //select id,name,pwd from user where id= #{id};
-
-
-
解决方法:
-
起别名
-
<select id="getUserById" resultType="User" parameterType="int"> select id,name,pwd as password from user where id= #{id}; </select>
-
-
5.2、resultMap
-
结果集映射
-
id name pwd id name password -
<!--结果集映射--> <resultMap id="UserMap" type="User"> <!--coLumn数据库中的字段,property实体类中的属性--> <result column="id" property="id"></result> <result column="name" property="name"></result> <result column="pwd" property="password"></result> </resultMap> <select id="getUserById" resultMap="UserMap"> select * from user where id= #{id}; </select>
-
-
resultMap 元素是MyBatis中最重要最强大的元素。
-
ResultMap的设计思想是,对于简单的语句根本不需要配置显式的结果映射,而对于复杂一点的语句只需要描述它们的关系就行了。
-
ResultMap 最优秀的地方在于,虽然你已经对它相当了解了,但是根本就不需要显式地用到他们。

浙公网安备 33010602011771号