关于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文件,这个时候就不行了

 
    <bean id="sqlSessionFactory" class="com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean">
        
        <property name="dataSource" ref="dataSource"/>
        
        <property name="mapperLocations" value="classpath:com/xx/modules/*/mapper/xml/*Dao.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" />
        
        
        
        
        
        
        

        
        
    bean>
    <bean id="logicSqlInjector" class="com.baomidou.mybatisplus.mapper.LogicSqlInjector" />

  • 这个时候可以看到我的上面有这样一段代码

  • 没错问题就出在这里,我们需要应用一个mybatis-config.xml文件 但是我根本就没用这个东西,所以呢,怎么办,新建一个新的xml文件里面写不写无所谓


<configuration>configuration>

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

你可能感兴趣的:(总结)