MyBatis(三)——解决字段名与实体类属性名不相同的问题

我们之前的Users表,有三个字段:


MyBatis(三)——解决字段名与实体类属性名不相同的问题_第1张图片
Users.png

我的实体类有三个名字相同的属性:

MyBatis(三)——解决字段名与实体类属性名不相同的问题_第2张图片
User

 但是在平时的开发中,我们表中的字段名和表对应实体类的属性名称不一定都是完全相同的,当名字不相同的时候就会引发一些问题。( 比如我们的表中字段名都有一个前缀三个字段分别为user_id,user_name,user_age)

下面我们以userMapper.xml中的getUser为例:

 

这样我们用之前的测试类TestCRUDByXmlMapper测试,我们会发现返回了一个null,当实体类中的属性名和表中的字段名不一致时,使用MyBatis进行查询操作时无法查询出相应的结果的问题以及针对问题采用的两种办法:

解决办法一:

通过在查询的sql语句中定义字段名的别名,让字段名的别名和实体类的属性名一致,这样就可以表的字段名和实体类的属性名一一对应上了,这种方式是通过在sql语句中定义别名来解决字段名和属性名的映射关系的。
修改userMapper.xml对应的配置信息



解决办法二:

通过来映射字段名和实体类属性名的一一对应关系。这种方式是使用MyBatis提供的解决方式来解决字段名和属性名的映射关系的。

 

 

    
    
    
    
    

你可能感兴趣的:(MyBatis(三)——解决字段名与实体类属性名不相同的问题)