Mybatis解决属性名和字段名不一致的问题
程序员文章站
2022-07-14 17:08:00
...
新建一个项目,拷贝之前的,测试实体类字段不一致的情况,如:数据库中的字段是username,实体类的字段是user,在执行查询的时候就会返回user=null
解决办法:
- 起别名
<select id="getUserById" resultType="com.superman.pojo.User" parameterType="int">
select id,birthday,sex,address,username as user from mybatis.user where id=#{id};
</select>
- 使用resulrMap
实体类中的属性 id username password
数据库中的字段 id name password
<!--结果集映射-->
<!--id就是resultMap使用的id,type就是返回的实体类-->
<resultMap id="UserMap" type="User">
<!--column就是数据库中对应的字段,property就是实体类中的属性-->
<!--如果只是要对应实体类的一个属性与数据库中的一个字段,只需要写出需要对应的那一个即可。-->
<result column="id" property="id"/>
<result column="username" property="name"/>
<result column="birthday" property="birthday"/>
<result column="address" property="address"/>
<result column="sex" property="sex"/>
</resultMap>
- resuleMap元素是mybatis中最重要最强大的元素
- resultmap的设计思想是,对于简单的语句根本不需要配置显式的结果映射,而对于复杂一点的语句- 只需要描述他们的关系就好了
- resultmap最优秀的地方在于,虽然你已经对它相当了解了,但是根本就不需要显式的用到
- 如果世界总是这么简单就好了
推荐阅读
-
windows安装多个版本的jdk,解决java-version和javac-version版本不一致的问题
-
解决ASP.NET MVC返回的JsonResult 中 日期类型数据格式问题,和返回的属性名称转为“驼峰命名法”和循环引用问题
-
MyBatis查询时属性名和字段名不一致问题的解决方法
-
vue-cli2打包前和打包后的css前缀不一致的问题解决
-
使用dvm解决Docker的Daemon和Client版本不一致问题
-
Mybatis解决属性名和字段名不一致的问题
-
Mybatis入门学习---解决属性名和列名不一致的问题
-
解决php的cli和web的扩展不一致问题
-
解决Windows和Linux双系统时间不一致的问题
-
excel转pdf(解决导出的pdf和excel格式不一致问题)