mybatisPlus驼峰配置

我用的springboot项目,其中使用的mybatisPlus,但是也带xml文件,xml有resultMap,这个是字段名和entity属性名的一一对应,但是我要是把这个resultMap去掉,在sql里面直接写resultType等于entity直接查询可以映射成功到entity对象吗?我的数据库字段是下划线,entity属性是驼峰

是的,你可以将`resultMap`去掉并在SQL中直接写`resultType`等于实体,但是这需要满足一些条件。在MyBatis中,查询返回的列名默认会与Java实体类的属性名进行一一映射。MyBatis也提供了自动映射的功能,可以自动将下划线命名方式转换为驼峰命名方式。

但是要注意的是,MyBatis的驼峰自动映射规则是基于以下的配置项开启的:

```xml
<!-- 开启驼峰命名转换:camelCaseMapping -->
<setting name="mapUnderscoreToCamelCase" value="true"/>
```

或者在MybatisPlus中配置如下:

```yml
mybatis-plus:
  configuration:
    map-underscore-to-camel-case: true
```

开启这个配置后,MyBatis会自动将查询结果的下划线字段名映射为Java实体类的驼峰式属性名。所以,如果你的实体类属性名是驼峰式的,而数据库字段是下划线式的,那么只要你开启了这个配置,你就可以省去`resultMap`,直接使用`resultType`进行映射。

但是,如果你的数据库字段名和Java实体类的属性名不能完全一一对应,或者存在特殊映射关系,那么你仍然需要使用`resultMap`来定义映射关系。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
mybatisplus驼峰失效是因为mybatis-plus默认的驼峰命名规则是开启的,但在某些情况下会出现失效的情况。解决这个问题的方法有两种: 1. 使用对象包装工厂: 您可以在配置文件中指定使用MybatisMapWrapperFactory作为对象包装工厂。您可以在配置类中添加以下代码: ```java @Bean public ConfigurationCustomizer mybatisConfigurationCustomizer() { return configuration -> configuration.setObjectWrapperFactory(new MybatisMapWrapperFactory()); } ``` 2. 配置全局驼峰命名策略: 您可以在配置文件中配置全局的驼峰命名策略。在Spring-Mybatis.xml中找到SqlSessionFactory配置,并添加以下属性: ```xml <property name="globalConfig" ref="globalConfig" /> ``` 然后,在配置文件中配置GlobalConfig: ```xml <bean id="globalConfig" class="com.baomidou.mybatisplus.core.config.GlobalConfig"> <property name="dbConfig" ref="dbConfig" /> <property name="sqlInjector" ref="sqlInjector" /> <property name="idType" value="AUTO" /> <property name="fieldStrategy" value="NOT_EMPTY" /> <property name="tablePrefix" value="" /> <property name="tablePrefix" value="" /> <property name="sqlParserCache" value="true" /> <property name="keyGenerator" ref="keyGenerator" /> <property name="metaObjectHandler" ref="metaObjectHandler" /> <property name="sqlSessionFactory" ref="sqlSessionFactory" /> </bean> ``` 以上是解决mybatisplus驼峰失效的两种方法。您可以根据您的实际情况选择其中一种方法进行配置

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值