Java:MybatisPlus--配置及其注解

一、环境准备

1、导入依赖

        
            com.baomidou
            mybatis-plus-boot-starter
            3.5.3.1
        

2、配置application.yml

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/ssm?serverTimezone=UTC
    username: root
    password: root
  main:
    banner-mode: off

mybatis-plus:
  global-config:
    banner: false
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

3、mapper层配置

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

4、service层配置

接口

public interface BookService extends IService {
}

实现类 

@Service
public class BookServiceImpl extends ServiceImpl 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.StdOutImpl
  global-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

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

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

你可能感兴趣的:(MybatisPlus,java,mybatis,mysql)