第一篇:1、Mybatis-Plus 创建SpringBoot项目
第二篇:2、Mybatis-Plus 测试增、删、改、查
第三篇:3、Mybatis-Plus 自定义sql语句
第四篇:4、Mybatis-Plus 通用service的操作
文章目录
- 1、表名(如果实体类和数据库中的表名不一致,会出现以下问题)
- 2、注解解决数据库字段和实体类字段问题,主键生成策略
-
- 2.1、直接在实体类上进行注解
- 2.2、全局配置,在yml文件中
- 2.3、数据库的主键和实体类的主键保持一致。但是不是id的情况下、不进行注解配置。会出现的问题?
- 2.4、数据库的主键和实体类的主键不一致
- 2.5、如果自己设定了id的值 不会使用自增策略的值
- 3、当数据库中表的字段和实体类的字段不一一对应时
-
- 3.1 数据库字段
- 3.2 实体类字段
- 3.3 出现的错误
- 3.4、使用@TableField("username") 指定对应的字段名
- 3.5 测试结果
- 4、逻辑删除
-
- 4.1、在数据库表中新添加一个字段表示删除状态
- 4.2、在实体类属性中添加,同时注解@TableLogic
- 4.3 、测试结果
1、表名(如果实体类和数据库中的表名不一致,会出现以下问题)
解决方法:在实体类中添加注解
@Data
//设置实体类所对应的表名:数据库中对应实体类的表名
@TableName("t_user")
public class User {
private Long id;
private String name;
private Integer age;
private String email;
}
再次执行代码
mybatis-plus根据哪里操作数据库中的表?
2、注解解决数据库字段和实体类字段问题,主键生成策略
2.1、直接在实体类上进行注解
package com.zyz.mybatisplus.pojo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@Data
//设置实体类所对应的表名:数据库中对应实体类的表名
//@TableName("t_user")
public class User {
//如果设置了主键的id,则不会使用自增id
/**
* 1、mybatis-plus会默认id为主键。如果数据库中的表主键和实体类的主键不是id(默认两个字段一致)。
* 需要在实体类字段上添加@TableId属性。
*
* 2、如果实体类字段的主键和数据库中表的主键不一致。@TableId注解的value属性用于指定主键的字段
*/
//将属性对应的字段指定为主键
// @TableId
// private Long id;
//如果只有一个属性,value可以省略 @TableId("uid")
// @TableId(value = "uid")
// private Long id;
/**
* type指定主键生成的策略。默认采用雪花算法
* 采用数据库的自增策略:注意:数据库中的该字段设置了id自增,否则无效
*/
@TableId(value = "uid",type = IdType.AUTO)
private Long id;
private String name;
private Integer age;
private String email;
}
2.2、全局配置,在yml文件中
#设置mybatis-plus的全局配置:
global-config:
db-config:
#设置实体类对应数据库中表的统一前缀
table-prefix: t_
#配置mybatis-plus的主键策略
id-type: auto