2020
11-19
11-19
Mybatisplus主键生成策略算法解析
mybatisplus支持多种主键生成策略,默认采用认ID_WORKER即雪花算法雪花算法snowflflake是Twitter开源的分布式ID生成算法,结果是一个long型的ID。其核心思想是:使用41bit作为毫秒数,10bit作为机器的ID(5个bit是数据中心,5个bit的机器ID),12bit作为毫秒内的流水号(意味着每个节点在每毫秒可以产生4096个ID),最后还有一个符号位,永远是0。可以保证几乎全球唯一!mybatisplus默认主键生成策略有可能会和我们的数据库产...
继续阅读 >
一、前言近来参与一个电力大数据项目,开发小组决定在DAO层使用MyBatisPlus——国产、新颖、强大、轻量。 官方API地址:http://mp.baomidou.com/#/?id=%E7%AE%80%E4%BB%8B二、通用CRUD通过本项目(表少,数据量大,非常适合)发现MyBatisPlus在单表CRUD方面比原来的的MyBatis的有着绝对优势:VSPSMyBatisMyBatisPlus代码生成器数据库有些表的字段发...
一、设置填充时机使用下面的注解设置填充的时机,例如insert、update语句@TableField(fill=FieldFill.INSERT)有下面4种规则源码/***字段填充策略枚举类**<p>*判断注入的insert和update的sql脚本是否在对应情况下忽略掉字段的if标签生成*<iftest="...">......</if>*判断优先级比{@linkFieldStrategy}高*</p>**@authorhubin*@since2017-06-27*/publicenumFieldFill{/***默认不处理*...
实现官方文档说明:com.baomidou.mybatisplus.annotations.TableFieldTableField注解新增属性update预处理set字段自定义注入(讲解:比如我们使用mybatisplus自带的insert()方法向数据库插入数据时,假设我们给age字段赋值为1,但是我们在age字段上的@TableField注解里面加了update="%s+1",那么真真插入到数据库的值就是age=2,而不是age+1了)例如:@TableField(..,update="%s+1")其中%s会填充为字段输出SQL为:update...
错误梗概接手了一个新任务,需要修改别人的代码。看看数据库配置,连连接池都没,然后引入了druid,本来一切很顺利。后来不知道怎么回事,运行起来后总是报“Invalidboundstatement(notfound)”,而且报错的都是MybatisPlus生成的BaseMapper中的方法,自己写的都能正常运行。参考了很多其他帖子,都无果,最后弄了很久,终于搞定了,特级录之。druid和mybatis-plus配置参数如下:pom.xml<dependency><groupId>com...
场景MyBaitsPlus3.x与2.x是不一样的。这里使用3.0.1版本。官方文档https://mp.baomidou.com/guide/generator.html这里在IDEA上的SpringBoot项目中进行代码生成测试。实现添加依赖添加代码生成器依赖<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>3.2.0</version></dependency>注意:MyBatis-Plus从3.0.3之后移除了代码生成器与模板引擎的默认依赖,需要手动添...
不讲太多理论知识,官网都有,直接上手。1.测试表DROPTABLEIFEXISTS`user`;CREATETABLE`user`(`id`bigint(20)UNSIGNEDNOTNULL,`name`varchar(128)CHARACTERSETutf8COLLATEutf8_general_ciDEFAULTNULLCOMMENT'用户名',`password`varchar(18)CHARACTERSETutf8COLLATEutf8_general_ciDEFAULTNULLCOMMENT'密码',`age`int(4)DEFAULTNULLCOMMENT'年龄',`create_time`datetime(0)DEFAULTNULL...
项目目录结构:pom文件:<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.warrior</groupId><artifactId>ETH</artifactId><version>1.0-SNAPSHOT</ver...