- 名称:@TableId
- 类型:属性注解
- 位置:模型类中用于表示主键的属性定义上方
- 作用:设置当前类中主键属性的生成策略
- 相关属性:value设置数据库主键名称,type设置主键生成策略具体参考IdType枚举值
- AUTO(0):使用数据库id自增策略控制id生成
- NONE(1):不设置ID生成策略
- INPUT(2):用户手工输入ID
- ASSIGN_ID(3):雪花算法生成ID(可兼容数值型与字符串型)
- ASSIGN_UUID(4):以UUID生成算法作为ID生成策略
package com.itheima.domain;import com.baomidou.mybatisplus.annotation.TableField;import com.baomidou.mybatisplus.annotation.TableLogic;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; private Integer version;}我们也可以同一设置@TableId的type属性,使整个项目的@TableId都以一种形态执行:
# dataSourcespring: datasource: type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/mybatisplus_db?serverTimezone=UTC username: root password: root main: banner-mode: off# mp日志mybatis-plus: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl global-config: banner: false db-config: id-type: assign_id # 设置为雪花算法设置ID多记录操作我们在实际开发中常常会进行多条记录操作:
- 根据主键删除多条操作
- 根据主键查询多条操作
package com.itheima;import com.baomidou.mybatisplus.core.metadata.IPage;import com.baomidou.mybatisplus.extension.plugins.pagination.Page;import com.itheima.dao.UserDao;import com.itheima.domain.User;import org.junit.jupiter.api.Test;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import java.util.ArrayList;import java.util.List;@SpringBootTestclass Mybatisplus03DqlApplicationTests { @Autowired private UserDao userDao; @Test void testDelete(){ //删除指定多条数据 //deleteBatchIds参数为数组形式,我们提供id的数组即可 List<Long> list = new ArrayList<>(); list.add(1402551342481838081L); list.add(1402553134049501186L); list.add(1402553619611430913L); userDao.deleteBatchIds(list); } @Test void testSelect()}{ //查询指定多条数据 //selectBatchIds参数为数组形式,我们提供id的数组即可 List<Long> list = new ArrayList<>(); list.add(1L); list.add(3L); list.add(4L); userDao.selectBatchIds(list); }}
经验总结扩展阅读
- 测量戒指圈口的方法有哪些?
- 罗爱罗是哪部韩剧里的?
- 电视剧麦香大结局是什么?
- 美剧西部世界剧情介绍?
- 泥疗膏的功效和禁忌?
- 阿司倍鹭是日本品牌吗?
- 电视剧我的莫格利男孩剧情介绍?
- 电视剧招摇中姜武是什么人?
- 防晒霜50g能带上飞机吗?
- 泰国vc片一天吃多少片?
