mybatis-plus 基础配置
mybatis-plus 基础配置
pom.xml引入
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.7</version>
</dependency>
application.yml配置
server:
port: 8080
spring:
datasource:
username: root
password: 123456
url: jdbc:mysql://localhost:3306/train
driver-class-name: com.mysql.cj.jdbc.Driver
main:
banner-mode: off
mybatis-plus:
# mapper.xml文件所在位置
mapper-locations: classpath:mapper/*.xml
global-config:
banner: off # 关闭mybatis banner打印
# 别名包配置,配置此项后,实体类加@Alias注解
type-aliases-package: org.train.springboot_train.entity
实体类配置
package org.train.springboot_train.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.ibatis.type.Alias;
import org.train.springboot_train.enums.SEX;
import java.util.List;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Alias(value = "consumer")
@TableName(value = "consumer",schema = "train")
public class Consumer {
@TableId(value = "id",type= IdType.ASSIGN_UUID)
private String id;
@TableField(value = "name")
private String name;
@TableField(value = "age")
private Integer age;
@TableField(value = "sex")
private SEX sex;
@TableField(exist = false)
private List<ConsumerConf> consumerConfs;
@TableField(exist = false)
private ConsumerItem consumerItem;
}
@TableName 映射表名
value:表名
schema:所属库(通常不用配置)
@TableId 主键映射
value:主键名
type:主键数据生成模式:UUID、自增ID、雪花算法ID
@TableField 字段映射
value:字段映射名
exist:是否映射表字段
Mapper.java配置
继承com.baomidou.mybatisplus.core.mapper.BaseMapper 接口,接口泛型填实体类
@Mapper
public interface ConsumerMapper extends BaseMapper<Consumer> {
...
}
Service 配置
Service 接口配置
继承com.baomidou.mybatisplus.extension.service.IService 接口,接口泛型填实体类
package org.train.springboot_train.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.train.springboot_train.entity.Consumer;
public interface ConsumerService extends IService<Consumer> {
...
}
ServiceImpl 实现类配置
-
继承
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl类,类中泛型填Mapper类和实体类 -
实现自定义接口
package org.train.springboot_train.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.train.springboot_train.entity.Consumer;
import org.train.springboot_train.mapper.ConsumerMapper;
@Service
public class ConsumerServiceImpl extends ServiceImpl<ConsumerMapper, Consumer> implements ConsumerService {
private ConsumerMapper consumerMapper;
// 官方推荐使用这种方式注入bean
@Autowired
public ConsumerServiceImpl(ConsumerMapper consumerMapper){
this.consumerMapper = consumerMapper;
}
}
总结
囊括来说,你需要记住ServiceImpl,IService,BaseMapper分别用在什么地方,表如何映射
附录
mapper.xml 基础格式<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace=""> </mapper>
本文来自博客园,作者:勤匠,转载请注明原文链接:https://www.cnblogs.com/JarryShu/articles/18359707

浙公网安备 33010602011771号