数据库中的字段和实体类中的字段不一致
当数据库中的字段和实体类中的字段不一致时,要想将查询到的数据完美的封装进实体类中有三种方法:
1、使用别名
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | public class User { private Integer id; private String userName; private String password; private String userInformation; public User() { } // 根据用户id查询出一条用户记录 public abstract User queryUserById(User user); <select id= "queryUserById" resultType= "com.mybatis.domain.User" > SELECT ID,PASSWORD,USER_NAME userName,USER_INFORMATION AS userInformation FROM tbl_user <where> ID = #{id} </where> </select> |
2、如果是Mybatis,并且满足如下规则: 数据库字段: USER_INFORMATION 实体类属性:userInformation,那么可以开启驼峰命名规则
1 2 3 4 5 6 | <configuration> <!--设置启用数据库字段下划线映射到java对象的驼峰式命名属性,默认为 false --> <settings> <setting name= "mapUnderscoreToCamelCase" value= "true" /> </settings> </configuration> |
3、使用resultMap对结果集进行自定义封装(xxx可以随意命名,但是一定要确保它们的名字要一致)
1 2 3 4 5 6 7 8 9 10 11 12 13 | <resultMap id= "xxx" type= "com.mybatis.domain.User" > <id property= "id" column= "ID" ></id> <result property= "userName" column= "USER_NAME" ></result> <result property= "password" column= "PASSWORD" ></result> <result property= "userInformation" column= "USER_INFORMATION" ></result> </resultMap> <select id= "queryUserById" resultMap= "xxx" > SELECT ID,PASSWORD,USER_NAME,USER_INFORMATION FROM tbl_user <where> ID = #{id} </where> </select> |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?