Mybatis 当实体属性与数据库字段不一致时的解决方案
来源:互联网 发布:射精后强制刺激 知乎 编辑:程序博客网 时间:2024/06/06 19:46
使用Mybatis的时候,Mybatis根据数据库的字段找到对应实体类的属性,通过set方法对属性进行注入。
我们可以对实体类的set方法进行测试,测试如下:
执行结果如下:
说明:Mybatis会根据相同的属性和字段名通过set方法进行注入
那如果实体类的属性名和数据库的字段名不相同呢?
我们改动实体类的属性名,如下:
再次执行,结果如下:
可以发现,没有通过set方法进行注入,而且user对象的userName的值为NULL,说明Mybatis默认下的确是通过相同的字段名和属性名进行注入。
那如果我们不想使用和数据库相同的字段名作为实体属性名该怎么做呢?
方法一:通过修改sql语句
修改映射文件中的sql语句:
测试结果:
说明:可以发现Mybatis是根据查询出来的字段名去找实体类相对的属性去注入。
方法二:添加关联映射
在映射文件中加入关联映射,如下:
注意:
注意:
修改掉之前的sql语句
测试结果如下:
两种方法都可以解决实体属性和数据库字段不一致的问题,不过一般都是使用第二种,通过添加关联映射来解决该问题。
0 0
- Mybatis 当实体属性与数据库字段不一致时的解决方案
- Mybatis中的model实体与数据库中的字段不一致的解决方案
- 在Mybatis中,解决数据库字段名与java实体类属性名不一致的三种方式
- MyBatis实体类属性名与数据库字段名不同的解决方案
- MyBatis框架解决字段名与实体类属性名不一致的情况
- Mybatis高级映射之-数据库字段跟实体类名称不一致时的处理
- Mybatis框架实体类字段与数据库表字段不一致导致查询该字段的值一直为null
- Mybatis总结(3)--之数据库字段名和实体类属性名不一致
- 实体类与数据库表中字段不一致时
- Mybatis-实体类属性名与数据库字段名不同的查询方法
- Mybatis中解决数据库字段名与实体类属性名不同的问题
- mybatis配置文件实现数据库带下横线字段与实体类属性一致的映射
- 使用Mybatis时实体类属性名和表中的字段名不一致导致结果无法映射到实体类的解决办法
- 02-MyBatis_当实体属性与表字段名不一致
- MyBatis-处理字段名与实体类名不一致的情况 -04
- MyBatis之实体类属性与表字段不一致的处理
- MyBatis学习笔记:表字段名与实体类属性名不一致的解决方法
- mybatis解决数据库表列明与实体不一致问题
- js中的短路运算符
- 504. Base 7
- python @ @classmethod @staticmethod
- window下控制台编码设置
- C++实现文件夹复制
- Mybatis 当实体属性与数据库字段不一致时的解决方案
- 第三章:嵌入式QT--自重启
- mysql + mybatis分组查询注意事项
- AIDL使用学习(二):跨进程回调以及RemoteCallbackList
- 【springboot 入门篇】第0篇 spring-boot是什么
- 类模板碰到友元函数
- Java编程思想-11持有对象
- Zookeeper的配置
- python中的map函数