posts - 206,  comments - 26,  views - 17万
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

增删改 Insert Delete Update 操作中的一些问题。

一、主键生成策略
增加的时候主键生成的问题,不同的环境、不同的场景对应的主键生成策略可能是不一样的,比如日志表、购物订单表、外卖单。

 

 

主键生成策略设置方法:

 

 

示例代码:

复制代码
package com.it.domain;
 
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.Version;
import lombok.Data;
 
@Data
//设置表名映射关系
//@TableName("tbl_user")
public class User {
    //设置主键生成策略
    @TableId(type = IdType.AUTO)
    private Long id;
    private String name;
    @TableField(value = "pwd",select = false)
    private String password;
    private Integer age;
    private String tel;
    @TableField(exist = false)
    private Integer online;
    private Integer deleted;
    @Version
    private Integer version;
}
复制代码

 

 

主键生成策略介绍:

 

 

查看IdType源码:

 

 

注意:AUTO 主键生成策略使用数据库ID自增策略,需要设置数据库自增。

INPUT主键生成策略使用,要取消数据库自增策略手动输入。

 

雪花算法生成id介绍:

雪花算法由占位符,时间戳,机器码,序列号组成,如下图:

 

 

二、全局配置

主键生成策略全局配置:

在application.yml中添加如下配置:

# mp日志
mybatis-plus:
  global-config:
    db-config:
      id-type: assign_id

 


主键生成策略配置:

 

 

表名前缀全局配置:

在application.yml中添加如下配置:

 

复制代码
# mp配置
mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  global-config:
    banner: false
    db-config:
      id-type: assign_id
      table-prefix: tbl_
复制代码

 


表名前缀配置:

 

 

三、测试
单元测试代码:

 

复制代码
 
@SpringBootTest
class MybatisplusDmlApplicationTests {
 
    @Autowired
    private UserDao userDao;
 
    @Test
    void testSave(){
        User user = new User();
//        user.setId(667L);
        user.setName("你是程序员");
        user.setPassword("it123456");
        user.setAge(12);
        user.setTel("4006184000");
        userDao.insert(user);
    }
 
}
复制代码

 

 

运行单元测试,添加成功。

posted on   努力--坚持  阅读(30)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
点击右上角即可分享
微信分享提示