Mybatis解决属性名和字段名不一致的问题
今天我们来解决pojo类的属性名字跟数据库的字段名不一致的情况。
首先我们先来学习一个东西:结果集映射resultMap。
1.resultMap元素是MyBatis中最重要最强大的元素
2.只需要描述它们的关系就行了。
3.如果世界总是这么简单就好了。
4.ResultMap 的设计思想是,对于简单的语句根本不需要配置显式的结果映射,而对于复杂一点的语句
我这里在mybatis-config.xml使用了typeAliases标签:扫描了包,给包取了个别名。
<typeAliases>
<!-- <typeAlias type="com.zsp.pojo.User" alias="user"/>-->
<!-- 可以起别名,alias代表的是别名,type代表具体类的位置-->
<package name="com.zsp.pojo"/>
<!-- 这种方法他会去你填写的位置下扫描类,所以不用写别名,都是类的首字母小写-->
</typeAliases>
而后就是今天要说的resultMap:使用方法也很简单,就是在userMap里声明要使用别名的属性即可,然后在语句里使用resultMap而不是用resultType
<resultMap id="userMap" type="user">
<result column="pwd" property="password"></result>
</resultMap>
<select id="getUserById" resultMap="userMap" >
select * from mybaties.user where id=#{id};
</select>