tk.mybatis实现uuid主键生成的示例代码
作者:小布1994 发布时间:2022-01-22 00:17:13
标签:tk.mybatis,uuid,主键
引入依赖
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.0.2</version>
</dependency>
1、创建一个GenId的实现类
package com.xiaobu.base.entity;
import tk.mybatis.mapper.genid.GenId;
import java.util.UUID;
/**
* @author xiaobu
* @version JDK1.8.0_171
* @date on 2019/3/27 11:37
* @description V1.0
*/
public class UUIdGenId implements GenId<String> {
@Override
public String genId(String s, String s1) {
return UUID.randomUUID().toString().replace("-","");
}
}
2、创建实体类
package com.xiaobu.entity;
import com.xiaobu.base.entity.UUIdGenId;
import lombok.Data;
import tk.mybatis.mapper.annotation.KeySql;
import javax.persistence.Id;
import java.io.Serializable;
/**
* 功能描述: 测试uuid主键生成
* @author xiaobu
* @date 2019/3/27 16:30
* @version 1.0
*/
@Data
public class TbDemo1 implements Serializable {
/**
*
*/
@Id
@KeySql(genId = UUIdGenId.class)
private String id;
/**
*
*/
private String name;
private static final long serialVersionUID = 1L;
}
3、mapper类集成通用mapper
package com.xiaobu.mapper;
import com.xiaobu.base.mapper.MyMapper;
import com.xiaobu.entity.TbDemo1;
import org.apache.ibatis.annotations.Mapper;
/**
* 功能描述:继承通用mapper
* @author xiaobu
* @date 2019/3/27 17:06
* @version 1.0
*/
@Mapper
public interface TbDemo1Mapper extends MyMapper<TbDemo1> {
}
4、测试
package com.xiaobu;
import com.xiaobu.entity.TbDemo1;
import com.xiaobu.mapper.TbDemo1Mapper;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
/**
* @author xiaobu
* @version JDK1.8.0_171
* @date on 2019/3/27 11:11
* @description V1.0
*/
@RunWith(SpringRunner.class)
@SpringBootTest
public class TbDemo1Test {
@Autowired
private TbDemo1Mapper tbDemo1Mapper;
@Test
public void insert(){
TbDemo1 tbDemo1 = new TbDemo1();
tbDemo1.setName("测试uuid生成");
tbDemo1Mapper.insert(tbDemo1);
System.out.println("新增完成.....");
}
}
tk.mapper的insertList不支持,自己写的插入方法也是不支持的。
来源:https://blog.csdn.net/tanhongwei1994/article/details/88849811


猜你喜欢
- 本文实例讲述了Android编程实现屏幕禁止休眠的方法。分享给大家供大家参考,具体如下:实现这一功能的方法有两种,一种是在Manifest.
- 由于要在Web项目中采用RFID读取功能,所以有必要开发Activex,一般情况下开发Activex都采用VC,VB等,但对这两块不是很熟悉
- 前言说实话,我在 * 工作的时候,就见过Gradle。但是当时我一直不知道这是什么东西。而且 * 工具组的工程师还将其和Android Stud
- 本文实例讲述了dotNet中的反射用法。分享给大家供大家参考,具体如下:参考MSDN:ms-help://MS.VSCC.2003/MS.M
- 字符串操作是C#中最基本的、最常见的、也是用的最多的,以下我总结了几种常见的方法:1.把字符串按照分隔符转换成 List ///
- 1.break 关键字break 主要用在:① 循环语句中② switch语句中它的作用:用来跳出整个语句块。1.1语法break 的用法很
- 先来看看效果图跳动的小球做这个动画,需掌握: 1、属性动画  
- 还是有一些小问题....懒得改了,但大体思路还是清晰的,首先定义一个运算符栈,一个数栈。关于优先级,两个括号(,)优先级最低,其次是+、-,
- 如图,刚开始报错获取不到bean因为配置文件1、原因一: *.properties等没有值,还是用${变量的}。获取不到,于是把所有值复制到
- 这篇文章主要介绍了SpringBoot集成MybatisPlus报错的解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定
- 一个非侵入的api编译、收集、Rest文档生成工具。工具通过分析代码和注释,获取文档信息,生成RestDoc文档前言程序员一直以来都有一个烦
- 目录什么是异常?编译时还是运行时?“受检异常”究竟可不可取?我的观点什么是异常?要了解受检异常,首先要了解什么是异常。在Java中,异常是一
- 本文实例讲述了C#清除字符串内空格的方法,分享给大家供大家参考。具体如下:关键代码如下:/// <summary>/// 清除字
- 1. 线程转储简介线程转储(Thread Dump)就是JVM中所有线程状态信息的一次快照。线程转储一般使用文本格式, 可以将其保存到文本文
- CircuitBreaker 断路器服务熔断是为了保护我们的服务,比如当某个服务出现问题的时候,控制打向它的流量,让它有时间去恢复,或者限制
- 缘起工作时使用java开发服务器后台,用Jersey写Restful接口,发现有一个Post方法始终获取不到参数,查了半天,发现时获取参数的
- Activity是Android系统的4个应用程序组件之一。通过传统方法显示的Activity都是充满整个屏幕,也就是全屏的Activity
- 包含默认敏感词过滤和自定义敏感词过滤。导入依赖<dependency> <groupId>com.git
- 一.OO(面向对象)的设计基础面向对象(OO):就是基于对象概念,以对象为中心,以类和继承为构造机制,充分利用接口和多态提供灵活性,来认识、
- 先上效果图源码 github.com/woshiwzy/Ca…实现原理:1.继承LinearLayout2.重写onL