Mybatis中关于数据库表字段和javabean属性名不一致的问题

670 阅读1分钟

1.问题引入

通常数据库中的表和实体类(JavaBean)是一一对应的,并且表的字段名和类的属性名也是一样的,这样直接将查找到的结果集直接按照名称对应直接封装成实体类,但是对于数据库中表的字段的命名和实体类中的属性命名的规范并不一致。比如:

数据库中

image.png

实体类中

image.png

可以看到表中字段名为user_name,实体类中的属性为userName,这样就不能够实现将查询结果对应上实体类的各个属性名,当然了可以将命名统一,但是问题就是命名又不规范了。如何解决这个问题使得命名规范同时能够对应上呢?以下提供几个解决办法。

2.解决方式

(1).取别名

select id,user_name as userName,password from user

(2).在全局配置文件(mybatis-config.xml)中配置

image.png

(3).使用resultMap映射实体类属性名和表的字段名一一对应关系

image.png