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 ...
随机推荐
- C# 金额的 动态分配算法
/// <summary> /// 金额的 动态分配算法 /// </summary> public static void FindCosts() { // 定义费用明细列表 ...
- Mybatis-Plus框架的BaseMapper的insert方法和自定义mapper里面的insert方法会用哪个
在Mybatis-Plus框架中,当一个接口继承了BaseMapper接口,并且绑定了一个xml文件时,如果这个接口和xml文件中都定义了相同的方法,那么在调用该方法时,会优先调用xml文件中的方法, ...
- #构造#B 连通子图
题目 给定正整数\(k\),构造一棵树,使得包含了\(1\)号点的连通子图个数恰好为\(k\). 连通子图就是点集的一个子集(可以为全集),使得该点集中任意两个点均可以经过该点集中的点相互到达. 分析 ...
- protocol buffer没那么难,不信你看这篇
目录 简介 定义一个消息 类型定义 字段的值 字段描述符 添加注释 嵌套类型 Map 总结 简介 上一篇文章我们对google的protobuf已经有了一个基本的认识,并且能够使用相应的工具生成对应的 ...
- 小师妹学JavaIO之:File文件系统
目录 简介 文件权限和文件系统 文件的创建 代码中文件的权限 总结 简介 小师妹又遇到难题了,这次的问题是有关文件的创建,文件权限和文件系统相关的问题,还好这些问题的答案都在我的脑子里面,一起来看看吧 ...
- Spring Boot 嵌入式服务器、Hibernate 关系和 Spring Data 全解析
嵌入式服务器 Spring Boot 的嵌入式服务器功能是一项方便而强大的功能,它允许你在应用程序中直接运行 Web 服务器,无需将其部署到单独的独立 Web 服务器中.这使得开发.测试和部署 Web ...
- 编译安装cmake,linux编译安装cmake
cmake官网:https://cmake.org/ cmake官网下载地址:https://cmake.org/download/ 现在Linux版本最新版是:cmake-3.28.0-rc5.ta ...
- Python调用动态库,获取BSTR字符串
今天客户在用Python调用我们的动态库的时候,遇到一个问题,调用动态库中的函数,函数返回的是BSTR字符串,但是客户接收到的是一个8位长度的数字. 动态库函数原型:EXTERN_C BSTR ELO ...
- 什么是慢SQL且如何查看慢SQL
什么是慢 SQL 且如何查看慢 SQL? 介绍 某个 SQL 执行时间超过指定时间时称为慢 SQL.我们可以查看慢 SQL,包括历史慢 SQL 以及当前慢 SQL. 查看历史慢 SQL 首先要设置 l ...
- keycloak~对架构提供的provider总结
提供者目录 Provider Authenticator BaseDirectGrantAuthenticator AbstractFormAuthenticator AbstractUsername ...