目录
导入依赖
<!-- mysql 驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.26</version>
</dependency>
<!-- mybatis-plus 驱动 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.0</version>
</dependency>
<!-- 分页 驱动 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.4.1</version>
</dependency>
启动类添加mappe接口扫描路径
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@MapperScan(basePackages = "com.mapper")
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
yaml配置文件
四种生成策略
看下源码
雪花算法ASSIGN_ID:目前互联网环境都是高可用,高并发,分库分表,都会用这种模式ASSIGN_UUID:uuid无序的,而且在一个高并发的情况之下呢,它其实也有可能会出现重一些重复的错误,而且它本身也会出现一些bug,因为这个UIDD。并不是太好,那么之前有一家公司也算是一个中大厂,要是因为使用了这个,比如说ID啊,崩掉了啊,出现了很大的一个问题,所以在目前的一个情况之下。如果说项目比较小的话,你使用UIDD没有没有关系,如果说考虑到未来,那么这个UIDD肯定不能够去使用的,所以不同的场景啊,那么肯定是使用不同的一种方式,使用不同的策略。
AUTO:数据库的ID自增,那么这个东西的话,咱们肯定不用多说了吧那么一般来说需要注意该类型,请确保数据库设置了ID自增啊,否则无效。
INPUT:那么这个是用户输入ID,这个类型是可以通过我们自己注册,自己填充扎线进行填充的这样的一个一种目的。
福利
mybatis-plus会自动生成server如下
service里面会继承这么个东西,但是我个人不推荐,不建议使用这种方式去做,为什么呢?第一个因为本质上我们的map他已经帮我们做了一层封装,对于service来讲,虽然是方便了,但是我觉得多此一举。那么,其次,第二点,如果说我们要去自己去实现我们的一个业务的话,那么在这边它可能就显得不太的灵活,因为往往我们要去继承自己的。一些相应的父类吧,如果说我们要去自己制成自己的,但是这边又已经是继承了I service的话,那么我们的这个可扩展性就比较降低了,甚至说我们可能要去额外的去啊,实现其他的一些接口。所以这样子的话呢,也不是特别的好,所以相对来说,我在这边建议把这个呢给去掉,
去掉后,
别忘了还有实现类