mybatis-plus和mybatis实体名和数据库字段映射问题

概述

在mybatis-plus中,数据库字段为first_char,而实体类中为firstChar,不用在mapper中配置ResultMap,也能自动映射,不过记得加上get和set方法,或者使用@Data注解进行配置

demo

mybatis-plus和mybatis实体名和数据库字段映射问题_第1张图片
mybatis-plus和mybatis实体名和数据库字段映射问题_第2张图片
mybatis-plus和mybatis实体名和数据库字段映射问题_第3张图片

看到了嘛?

在mapper中,没有配置ResultMap,数据库字段中两个英文间的下划线在实体中使用小驼峰式命名规则(firstName, camelCase)进行了代替,然后完成注入。使用和数据库一样的命名是无法注入的。我们来测试一下。

mybatis-plus和mybatis实体名和数据库字段映射问题_第4张图片

mybatis-plus和mybatis实体名和数据库字段映射问题_第5张图片

有没有看到。

使用mybatis时,如果想要将查询字段映射到pojo字段上,是要求数据库字段和pojo字段名一致的,可以在配置在xml中配置resultMap,然后再标签中引用,或者是将给查询的字段名起和pojo字段一致的别名。

方法一:配置xml的resultMap

id为resultMap的唯一标识
<resultMap type="cn.pojo.brand" id="brandMap">
  	<result column="first_char" property="firstChar"/>
resultMap>

方法二:给查询字段取别名

select id,name,first_char as firstChar
from brand

一般使用mybatis还是倾向于在xml中配置resultMap,这样的话在查询的时候就不用每次都给数据库字段取别名了

你可能感兴趣的:(mybatis-plus)