关于Mybatis plus 2.0.8 ID无法生成问题

Mybatis plus 2.0.8 Id生成无法使用

新项目用到Mybatis plus 和spring框架,项目继承好之后发现使用的时候无法自动生成ID,结合Mybatis plus官方文档所写有4种主检策略,我们选择使用的是UUID,如果每次手动SET UID的话难免会有些麻烦,程序员都懒嘛,既然有问题那么我们就来解决。
这个问题说大不大说小也不小,总是我和同事是找了半天问题,比较现在网上Mybatis plus相关文档不是很全面,google一下也是一样(蓝灯最近也不好用)很头疼,下面我就说一下吧!哦,对了,本文档尽针对Mybatis plus2.0.8版本,该大坑最简单的方法就是提升版本,官方版本最近已经解决了,但是我怕又有其它的坑出来,所以就放弃了。

Mybatis plus官方文档介绍

官方网站:http://baomidou.oschina.io/mybatis-plus-doc/

  • 主键策略选择
描述
IdType.AUTO数据库ID自增
IdType.INPUT用户输入ID
IdType.ID_WORKER全局唯一ID,内容为空自动填充(默认配置)
dType.UUID全局唯一ID,内容为空自动填充


  • 看过文档我们就知道下面这句话就是自动生成UUID value=3代表dType.UUID
<property name="idType" value="3" />


先来看看我的是只有一个spring.xml文件,这个时候就不行了

 <!-- Spring整合Mybatis,更多查看文档:http://mp.baomidou.com -->
    <bean id="sqlSessionFactory" class="com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean">
        <!--<bean id="sqlSessionFactory" class="com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean">-->
        <property name="dataSource" ref="dataSource"/>
        <!-- 自动扫描Mapping.xml文件 -->
        <property name="mapperLocations" value="classpath:com/xx/modules/*/mapper/xml/*Dao.xml"/>
        <!--<property name="configLocation" value="classpath:spring/mybatis-config.xml"/>-->
        <property name="typeAliasesPackage" value="com.xx.modules.*.entity"/>
        <property name="plugins">
            <array>
                <!-- 分页插件配置 -->
                <bean id="paginationInterceptor" class="com.baomidou.mybatisplus.plugins.PaginationInterceptor">
                    <property name="dialectType" value="mysql"/>
                </bean>
                <bean class="com.xx.common.utils.PerformanceInterceptor"></bean>
            </array>
        </property>
        <!-- 全局配置注入 -->
        <property name="globalConfig" ref="globalConfig" />
    </bean>
    <bean id="globalConfig" class="com.baomidou.mybatisplus.entity.GlobalConfiguration">
        <property name="sqlInjector" ref="logicSqlInjector" />
        <property name="logicDeleteValue" value="-1" />
        <property name="logicNotDeleteValue" value="1" />
        <property name="idType" value="3" />
        <!--
            AUTO->`0`("数据库ID自增")
             INPUT->`1`(用户输入ID")
            ID_WORKER->`2`("全局唯一ID")
            UUID->`3`("全局唯一ID")
        -->
        <!--<property name="idType" value="2" />-->
        <!--
            MYSQL->`mysql`
            ORACLE->`oracle`
            DB2->`db2`
            H2->`h2`
            HSQL->`hsql`
            SQLITE->`sqlite`
            POSTGRE->`postgresql`
            SQLSERVER2005->`sqlserver2005`
            SQLSERVER->`sqlserver`
        -->
        <!-- Oracle需要添加该项 -->
        <!-- <property name="dbType" value="oracle" /> -->
        <!-- 全局表为下划线命名设置 true -->
        <!-- <property name="dbColumnUnderline" value="true" /> -->

        <!--数据库关键字转义符,'desc', "desc" -->
        <!--<property name="identifierQuote" value="'" />-->
    </bean>
    <bean id="logicSqlInjector" class="com.baomidou.mybatisplus.mapper.LogicSqlInjector" />

  • 这个时候可以看到我的上面有这样一段代码
<!--<property name="configLocation" value="classpath:spring/mybatis-config.xml"/>-->

  • 没错问题就出在这里,我们需要应用一个mybatis-config.xml文件 但是我根本就没用这个东西,所以呢,怎么办,新建一个新的xml文件里面写不写无所谓
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration></configuration>

  • 我们把上面Spring文件中此段代码放开就行
<property name="configLocation" value="classpath:spring/mybatis-config.xml"/>
  • 现在我们上面的idType就可以使用了,是不是感觉很扯,我也是这么觉得,问题说大不大,说小吧也是找了半天,如果有人碰到这个问题就分享给你们咯,文笔不好,见谅。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值