Mybatis Plus的@TableId标签
@TableId
1、如果数据库字段设成user_id
在初始生成后,在代码中会变成userId,不会设置成主键
使用**@TableId(value=“user_id”,type = IdType.AUTO)**注解
“value”:设置数据库字段值
“type”:设置主键类型、如果数据库主键设置了自增建议使用“AUTO”
type有六种类型类型,最下面三个只有插入主键为空时,才会自动填充
类型 解释
AUTO 数据库自增ID 类型可以是Interger/Long;
NONE 数据库未设置主键类型(将会跟随全局)
INPUT 用户自己输入ID
ID_WORKER 全局唯一ID 类型必须是Long
UUID 全局唯一ID 类型是字符串
ID_WORKER_STR idWorker 的字符串表示 类型是字符串
ID_WORKER 生成的snowflakeId 是19位的全局id
注意:
jeecg-boot框架的id默认是字符串类型
一、数据库id改成自增的长整型做id,则自动生成的增删改查接口要进行改造:
1、实体类改造:(AUTO的意思是数据库自动填充id,不用接口实现id保存)
/**id*/
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "id")
private Long id;
2、接口类改造:
(1)、queryById和delete接口需要把参数类型改成Long
(2)、deleteBatch接口需要进行改造:
String[] str=ids.split(",");
Long [] arr = new Long [str.length];
for(int i=0; i<str.length; i++) {
arr[i] = Long.parseLong(str[i]);
}
this.dataWaterSiteHourService.removeByIds(Arrays.asList(arr));
return Result.ok("批量删除成功!");
二、数据库id改成自增的整型做id,改造:
1、实体类改造:
/**id*/
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "id")
private java.lang.Integer id;
2、接口类改造:
(1)、queryById和delete接口需要把参数类型改成Integer
(2)、deleteBatch接口需要进行改造:
String[] str=ids.split(",");
Integer [] arr = new Integer [str.length];
for(int i=0; i<str.length; i++) {
arr[i] = Integer.parseInt(str[i]);
}
this.settingService.removeByIds(Arrays.asList(ids.split(",")));
return Result.ok("批量删除成功!");
数据库id的定义和自增创建方法见链接
Mybatis Plus的@TableId标签的更多相关文章
- mybatis 中的where标签
mybatis中的where标签可以去除 开头的 and 或者 or 但是放在后面的不行 失败的: <select id="countNotesByParam" parame ...
- Sql批量添加,批量查询,批量删除,批量修改。mybatis都有对应标签
Sql批量添加,批量查询,批量删除,批量修改.mybatis都有对应标签
- MyBatis配置文件中的标签mappers的子标签mapper的url属性
在浏览器中输入file:/可以打开访达根目录,file:后面至少跟一个杠 MyBatis配置文件中的标签mappers的子标签mapper的url属性中file:后面至少要跟两个杠
- MyBatis使用动态SQL标签的小陷阱
现在MyBatis越来越受大家的喜爱了,它的优势大家都知道,我就不多说了,直接说重点. MyBatis中提供动态SQL功能,我们可以使用<if><when><where& ...
- MyBatis学习-映射文件标签篇(select、resultMap)
MyBatis 真正的核心在映射文件中.比直接使用 JDBC 节省95%的代码.而且将 SQL 语句独立在 Java 代码之外,可以进行更为细致的 SQL 优化. 一. 映射文件的顶级元素 selec ...
- mybatis中使用if标签比较两个字符串是否相等
<!-- 此处使用if比较是否相等 --> 范例一: <select id="findClientIds" parameterType="map&quo ...
- mybatis学习 十三 resultMap标签 一对一
1 .<resultMap>标签 写在mapper.xml中,由程序员控制SQL查询结果与实体类的映射关系. 在写<select>标签中,有一个resultType属性,此时s ...
- mybatis 一对多 id标签作用
一对多 MyBatis的resultMap只用于配置结果如何映射,id的唯一作用就是在嵌套的映射配置时判断数据是否相同,当配置id标签时,MyBatis只需要逐条比较所有数据中id标签字段值是否相同即 ...
- mybatis配置文件,注意标签配置顺序。否则报错The content of element type "configuration" must match "(properties?,settings?,...怎么解决
感谢原作者http://www.cnblogs.com/zhoumingming/p/5417014.html 注意每个标签必须按照顺序写,不然就会提示错误 顺序是 <?xml version= ...
- 使用mybatis提供的各种标签方法实现动态拼接Sql。这里演示where标签和if标签实现使用姓名的模糊查询和性别查询用户列表,当用户没有选择姓名以及性别时查询出所有的记录。
1.需求: 使用姓名的模糊查询和性别查询用户列表,当用户没有选择姓名以及性别时查询出所有的记录. 2.在UserMapper接口中定义方法: public List<User> findU ...
随机推荐
- #DP#CF9D How many trees?
题目 用\(n\)个点组成二叉树,问高度\(\geq h\)的有多少个. 分析 首先前缀和相减就能得到答案,做dp 设\(dp[n][h]\)表示节点数为\(n\),高度不超过\(h\)的树的个数 那 ...
- Maven的build生命周期和常用plugin
目录 简介 lifecycle和Phases Phases和Goals 常用plugin介绍 maven-dependency-plugin maven-jar-plugin 总结 简介 Maven和 ...
- 掌握 C# 变量:在代码中声明、初始化和使用不同类型的综合指南
C# 变量 变量是用于存储数据值的容器. 在 C# 中,有不同类型的变量(用不同的关键字定义),例如: int - 存储整数(没有小数点的整数),如 123 或 -123 double - 存储浮点数 ...
- 【Learning eBPF-3】一个 eBPF 程序的深入剖析
从这一章开始,我们先放下 BCC 框架,来看仅通过 C 语言如何实现一个 eBPF.如此一来,你会更加理解 BCC 所做的底层工作. 在这一章中,我们会讨论一个 eBPF 程序被执行的完整流程,如下图 ...
- JMeter接口性能测试工具
博客地址:https://blog.csdn.net/lovesoo/article/details/78579547
- spring boot 配置文件占位符和多环境配置 [七]
配置文件占位符 person.last-name=zhangsan person.age=${random.int} person.birth=2017/12/15 person.boss=false ...
- 使用Quorum Journal Manager(QJM)的HDFS NameNode高可用配置
前面的一篇文章写到了hadoop hdfs 3.2集群的部署,其中是部署的单个namenode的hdfs集群,一旦其中namenode出现故障会导致整个hdfs存储不可用,如果是要求比较高的集群,有必 ...
- (已解决)安装PyMySQL出现问题--'pip' 不是内部或外部命令,也不是可运行的程序 或批处理文件
问题描述: 输入cmd,进入命令窗口,输入pip install pymysql时候出现下面的问题: 然后进入python环境中去输入还是报错: 问题原因:环境变量配置出错,cmd下无法调用pip程序 ...
- 面试题45(Java)-把数组排成最小的数(中等)
题目: 输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个. 示例 1: 输入: [10,2] 输出: "102" 示例 2: 输入: [ ...
- 牛客网-SQL专项训练8
①在SQL中用条件表示价格在在30至40之间,应该如何表达(B) 解析:IN 与BETWEEN AND的区分 (数字型) 1.in (xx,xx,xx,...) 通常是不连续的,in(30,40)要 ...