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 ...
随机推荐
- 整合mybatis-spring需要的maven依赖配置
创建maven项目,导入相关jar包 junit 1 <dependency> 2 <groupId>junit</groupId> 3 <artifactI ...
- 鸿蒙HarmonyOS实战-ArkUI组件(Radio)
一.Radio Radio单选框是一种表单元素,允许用户从一组选项中选择一个选项.它由一个圆圈和一个标签组成,用户只能选择其中一个选项.Radio单选框通常用于表单中,用于收集用户选择的信息,例如用户 ...
- #最大密度子图,0/1分数规划#UVA1389 Hard Life
题目 \(n\) 个点,\(m\) 条边的一个无向图,问导出子图的边数除以点数的最大值 分析 考虑二分这个答案,也就是0/1分数规划之后转换成 \(E-mid*V>0\) 这个问题虽然可以精确到 ...
- #Dinic,最大权闭合子图#CF1473F Strange Set
题目 分析 对于这种依赖关系,可以将正权值连源点,负权值连汇点, 然后 \(i\) 向 \(j(j<i)\) 连无穷大的边,注意到如果完全建图空间不够, 考虑记录每个约数最后一次出现的位置,直接 ...
- #根号分治,背包#51nod 1597 有限背包计数问题 LOJ 6089 小Y的背包计数问题
题目 有一个大小为\(n\)的背包,有\(n\)种物品, 第\(i\)种物品的大小为\(i\),且有\(i\)个, 求装满这个背包的方案数 \(n\leq 10^5\) 分析 直接多重背包会有问题,考 ...
- 活动开启 | 以梦筑码 · 不负韶华 开发者故事征集令,讲出你的故事,有机会参加HDC.Together 2023
HarmonyOS面世以来,经历了3大版本迭代,系统能力逐步完善,生态加速繁荣.一路前行,是开发者们点亮漫天星光.点滴贡献,聚沙成塔,开发者们正用代码改变世界. 是梦想,激励我们一路前行.在黎明到 ...
- Centos 8.0 minimal命令行安装图形化界面(超详细)
Centos 8.0 安装图形化界面(超详细) 开始之前呢,请先查看您的Centos版本和是否有root账户权限. 一.安装Centos 图形化界面并重启 下载安装图形化界面 执行命令 yum gro ...
- chrome浏览器代理插件SwitchyOmega使用
第一步:下载SwitchyOmega插件 Proxy_SwitchyOmega_2.5.21.crx 第二步:安装插件, 1,在chrome扩展程序开启开发者模式: 2,将插件拖过来: 第三步:设置代 ...
- 记一次 .NET某炉膛锅炉检测系统 崩溃分析
一:背景 1. 讲故事 上个月有个朋友在微信上找到我,说他们的软件在客户那边隔几天就要崩溃一次,一直都没有找到原因,让我帮忙看下怎么回事,确实工控类的软件环境复杂难搞,朋友手上有一个崩溃的dump,刚 ...
- navicat连接mysql8报错
mysql8采用更安全的加密方式,navicat不支持,网上大多办法都是采用的更改数据库加密方式为外部加密 个人觉得这样它不太合适 so,终于找到一个办法: 把mysql8安装后的lib文件夹里的 l ...