解决mybatis通用mapper使用UUID作为主键无法回显的问题

yuzuodeyunwcj 2019-06-21

解决通用mapperUUID无法回显的问题

           首先给大家推荐一个非常好的Mybatis插件网站http://mybatis.tk/,使用Mbatis的各位可以到这个网站来看一下Mybatis插件。
           我之前在自己搭SpringBoot+Mybatis+MybatisGenerator的框架时遇到个问题,我按照通用mapper的方式搭建了demo发现使用UUID作为主键时插入确实是生效了,但是并没有回写回来,因为在实际开发中插入数据后需要拿到主键做业务处理所以我当时查了很长时间的文档都没有解决问题,后来只能联系群主帮我解决问题。
           下面是我的实体类代码:

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private String id;

           理论来说这样就可以了但是因为我的配置有一些问题导致ID写入数据库没有回写主键,只需配置"IDENTITY"和"ORDER"属性即可。

/**
 * Mybatis通用Mapper配置
 * @return
 */
@Bean
public MapperScannerConfigurer mapperScannerConfigurer(){
    MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer();
    mapperScannerConfigurer.setBasePackage("cn.XXX.dao.mapper");
    Properties propertiesMapper = new Properties();
    propertiesMapper.setProperty("mappers","tk.mybatis.mapper.common.Mapper");
    propertiesMapper.setProperty("IDENTITY","SELECT REPLACE(UUID(),'-','')");
    propertiesMapper.setProperty("ORDER","BEFORE");
    mapperScannerConfigurer.setProperties(propertiesMapper);
    return mapperScannerConfigurer;
}

           问题解决,如有疑问请查文档,在上面的Mybatis插件官网中有。

相关推荐