Mybatis(解决属性名和字段名不一致的问题)
5、Mybatis(解决属性名和字段名不一致的问题)
我们从数据库中取到的数据都会交给实体类,然后从实体类中拿到数据并操作数据,所以如果我们数据库中的字段要是和实体类中的属性不一致的话,我们就从实体类中无法得到我们想要的一些数据
解决方法:
- 起别名【不推荐】因为要是字段非常多的话,就很不方便
就是在Mapper.xml文件中将字段全部写出来,并给想到的字段起别名
<mapper namespace="com.kuang.dao.UserMapper">
<select id="getUserList" resultType="User">
select id,name,pwd as password from mybatis.user
</select>
</mapper>
- resultMap【推荐使用】
我们只需要在Mapper.xml文件中加入resultMap,设置column和property使得数据传输一致
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.kuang.dao.UserMapper">
<!--结果集映射-->
<resultMap id="userMap" type="User">
<result column="pwd" property="password"/>
</resultMap>
<select id="getUserList" resultMap="userMap">
select * from mybatis.user
</select>
</mapper>
- resultMap元素是MyBatis中最重要最强大的元素
- resultMap的设计思想是,对于简单的语句根本不需要配置显示的结果映射,而对于复杂一点的语句只需要描述他们的关系就行了
- resultMap最优秀的地方在于,虽然你已经对他相当了解了,但是就根本不需要显示的用到他们
树越是向往高处的光亮,它的根就越要向下,向泥土向黑暗的深处。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?