myBatis-plus:驼峰配置没有生效

9 篇文章 0 订阅

在Spring-Mybatis.xml中配置的驼峰转换如下

<bean id="globalConfig" class="com.baomidou.mybatisplus.entity.GlobalConfiguration">
        <!--
            AUTO->`0`("数据库ID自增")
             INPUT->`1`(用户输入ID")
            ID_WORKER->`2`("全局唯一ID")
            UUID->`3`("全局唯一ID")
        -->
        <property name="idType" value="2" />
       
        <!-- 驼峰转换 true -->
        <property name="dbColumnUnderline" value="true" />
    </bean>

当sql语句为:

<select id="selectAllUser" resultType="UsersEntity">
        select u.user_id,u.name,u.phone,u.sex,u.id_card,u.email,u.country,u.integral,u.state,u.create_time
        from users  u
    </select>

发现所有有下划线的列名不对对应到实体的属性名。除非将有下划线的属性名写成类似 u.user_id as userId,才能映射出来。

如果有设置resultMap,直接将sql改为下面这样也行。

<select id="selectAllUser" resultMap="usersMap">
        select u.user_id,u.name,u.phone,u.sex,u.id_card,u.email,u.country,u.integral,u.state,u.create_time
        from users  u
    </select>

不使用resultMap的解决方法如下:

在mybatis-config.xml文件里配置:

<configuration>
    <!-- 全局配置 -->
    <settings>
 
        <!--是否开启自动驼峰命名规则(camel case)映射,即从经典数据库列名 A_COLUMN 到经典Java 属性名 aColumn 的类似映射。 -->
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>
</configuration>

 在Spring-Mybatis.xml中配置SqlSessionFactory:

 <!--  3.配置SqlSessionFactory对象 -->
    <bean id="sqlSessionFactory" class="com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean">
        <!-- 注入数据库连接池 -->
        <property name="dataSource" ref="dataSource"/>
        <!-- 配置MyBaties全局配置文件:mybatis-config.xml -->
        <property name="configLocation" value="classpath:mybatis-config.xml"/>
        <!-- 扫描pojo包 使用别名 -->
        <property name="typeAliasesPackage" value="com.jc.JunJian.backend.*.entity"/>
        <!-- 扫描sql配置文件:mapper需要的xml文件 -->
        <property name="mapperLocations" value="classpath:mapper/*/*/*Dao.xml"/>

        <property name="plugins">
            <array>
                <!-- 分页插件配置 -->
                <bean id="paginationInterceptor" class="com.baomidou.mybatisplus.plugins.PaginationInterceptor">
                    <property name="dialectType" value="mysql"/>
                </bean>
            </array>
        </property>
        <!-- 全局配置注入 -->
        <property name="globalConfig" ref="globalConfig" />
    </bean>

疑问:mybatis的全局配置设置了驼峰转换,为什么不生效呢?有大佬知道原因吗?

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值