> 文章列表 > Java:MybatisPlus--配置及其注解

Java:MybatisPlus--配置及其注解

Java:MybatisPlus--配置及其注解

一、环境准备

1、导入依赖

        <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.3.1</version></dependency>

2、配置application.yml

spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/ssm?serverTimezone=UTCusername: rootpassword: rootmain:banner-mode: offmybatis-plus:global-config:banner: falseconfiguration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

3、mapper层配置

@Mapper
public interface BookMapper extends BaseMapper<Book> {
}
BaseMapperMyBatis-Plus提供的模板mapper,其中包含了基本的CRUD方法,泛型为操作的
实体类

4、service层配置

接口

public interface BookService extends IService<Book> {
}

实现类 

@Service
public class BookServiceImpl extends ServiceImpl<BookMapper,Book> implements BookService {}
MyBatis-Plus中有一个接口 IService和其实现类 ServiceImpl,封装了常见的业务层逻
ServiceImpl实现了IService,提供了IService中基础功能的实现。若ServiceImpl无法满足业务需求,则可以使用自定的BookService定义方法,并在实现类中实现。

 二、注解操作

1、@TableName

①采用注解形式:在实体类类型上添加@TableName("t_book"),标识实体类对应的表,即可成功执行SQL语句。实体类类型的类名和要操作的表的表名不一致。

②通过全局配置解决

可以使用MyBatis-Plus提供的全局配置,为实体类所对应的表名设置默认的前缀,那么就 不需要在每个实体类上通过@TableName标识实体类对应的表。

mybatis-plus:configuration:# 配置MyBatis日志log-impl: org.apache.ibatis.logging.stdout.StdOutImplglobal-config:db-config:# 配置MyBatis-Plus操作表的默认前缀table-prefix: t_

2@TableId

① 若实体类和表中表示主键的不是id,而是其他字段,通过@Tableld注解对应数据库字段名称。

② 在实体类中uid属性上通过@TableId将其标识为主键,即可成功执行SQL语句。

③ 通过@TableId注解的value属性,指定表中的主键字段。

④ IdType.ASSIGN_ID(默认) 基于雪花算法的策略生成数据id,与数据库id是否设置自增无关

IdType.INPUT:设置主动添加主键 ,如果不主动添加则报错。

IdType.AUTO :使用数据库的自增策略,注意,该类型请确保数据库设置了id自增,否则无效。

3、@TableField

① 若实体类中的属性使用的是驼峰命名风格,而表中的字段使用的是下划线命名风格。
此时MyBatis-Plus会自动将下划线命名风格转化为驼峰命名风格
② 若实体类中的属性和表中的字段不满足情况,
 需要在实体类属性上使@TableField("")设置属性所对应的字段名。 

4@TableLogic

① 物理删除:真实删除,将对应数据从数据库中删除,之后查询不到此条被删除的数据

② 逻辑删除:假删除,将对应数据中代表是否被删除字段的状态修改为“被删除状态,之后在数据库 中仍旧能看到此条数据记录。