Mybatis plus关闭驼峰命名
Hi丶ImViper 人气:0问题
数据查询出后其中几个字段为null
解决方法:
数据库的字段命名方式为使用下划线连接,对应的实体类应该是驼峰命名方式,而我使用的是和数据库同样的命名方式。
所以mybatis-plus映射不到,修改实体类的字段命名方式为驼峰命名方式。
这是因为mybatis默认开启驼峰命名法,按规则数据表中的lastName字段应对应实体类中的last_name属性,而实体类中的lastName属性应对应数据表中的last_name字段。
修改方法1
可以通过配置文件来关闭驼峰命名
我们可以通过configuration.map-underscore-to-camel-case: false
配置,去掉默认实现;
mybatis-plus: global-config: db-config: id-type: 0 table-prefix: t_ table-underline: false configuration: map-underscore-to-camel-case: false
修改方法2
解决方案:检查实体类中的字段是否存在下划线,将所有所有存在的下划线的字段,修改为标准的驼峰命名字段。如下图所示。
修改方法3
在初始化的时候设置全局配置
修改方法4(Springboot)
springboot :
\1. appliction.yml 里设置 关闭驼峰式编码
mybatis-plus: configuration: # 是否开启自动驼峰命名规则(camel case)映射,即从经典数据库列名 A_COLUMN(下划线命名) 到经典 Java 属性名 aColumn(驼峰命名) 的类似映射 map-underscore-to-camel-case: false
\2. 设值全局匹配设置:
<!-- MP 全局配置 --> <bean id="globalConfig" class="com.baomidou.mybatisplus.entity.GlobalConfiguration"> <!-- 全局的主键策略 --> <property name="idType" value="0"/> <!--映射数据库下划线字段名到数据库实体类的驼峰命名的映射--> <property name="dbColumnUnderline" value="flase"/> </bean>
<property name="dbColumnUnderline" value="flase"/>
加载全部内容