MybatisPlus入门(九)MybatisPlus-DML编程控制

news/2024/11/8 18:25:27 标签: Mybatis-Plus

增删改 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);
    }

}

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


http://www.niftyadmin.cn/n/5744281.html

相关文章

qt QPixmapCache详解

1、概述 QPixmapCache是Qt框架中提供的一个功能强大的图像缓存管理工具类。它允许开发者在全局范围内缓存QPixmap对象,从而有效减少图像的重复加载,提高图像加载和显示的效率。这对于需要频繁加载和显示图像的用户界面应用来说尤为重要,能够…

vue种ref跟reactive的区别?

‌Vue中的ref和reactive的主要区别在于它们处理的数据类型、实现原理以及使用方式。‌ 处理的数据类型 ‌ref‌:可以处理基本数据类型(如数字、字符串、布尔值)和对象。ref通过Object.defineProperty()的get和set方法来实现响应式&#xff…

11.07学习

一、三中代码解决鸡兔同笼问题 1.直接解方程 #include <stdio.h> int main() { int heads, feet, chickens, rabbits; printf("请输入总头数&#xff1a;"); scanf("%d", &heads); printf("请输入总脚数&#xff1a;"); scanf(…

MySQL分组查询

问题&#xff1a;查询员工表中,每个不同部门分别的平均工资 分组查询&#xff1a;group by关键字实现分组,group by放在where条件语句之后,order by放置中group by的后面,一会儿还会学到的having关键字,总体的循序先后为&#xff1a; where条件 , group by 分组语句 , having…

关于Redis

Redis 基础 什么是 Redis&#xff1f; Redis &#xff08;REmote DIctionary Server&#xff09;是一个基于 C 语言开发的开源 NoSQL 数据库&#xff08;BSD 许可&#xff09;。与传统数据库不同的是&#xff0c;Redis 的数据是保存在内存中的&#xff08;内存数据库&#xf…

004-Kotlin界面开发快速入水之TicTacToe

程序界面和效果 快速入水 要学习一样跟程序设计有关的东西&#xff0c;最好的办法始终是把手打湿&#xff0c;整一个能够运行&#xff0c;可以实验的东西出来。 也只有在程序开发中&#xff0c;我们才能想一个魔法师而不是魔术师&#xff0c;我们真的能够创造一个东西。而且编…

工作流初始错误 泛微提交流程提示_泛微协同办公平台E-cology8.0版本后台维护手册(11)–系统参数设置

工作流初始错误 泛微提交流程提示_泛微协同办公平台E-cology8.0版本后台维护手册(11)–系统参数设置...-CSDN博客 工作流初始错误 泛微提交流程提示_泛微OA 工作流WebService接口使用说明 工作流初始错误 泛微提交流程提示_泛微OA 工作流WebService接口使用说明-CSDN博客 工作…

EL表达式和JSTL表达式(详解)

1.EL表达式&#xff1a; 导包&#xff1a; isELIgnored"false"就可以用了&#xff0c;这个包是用的tomcat内置的,如果不行的话&#xff0c;就需要导包 <% page contentType"text/html;charsetUTF-8" isELIgnored"false" language"jav…