SpringBoot+Mybatis-Plus
Mybatis-Plus是在Mybatis的基础上开发的一款持久层框架。之前使用Springboot+Mybatis整合新建项目,如果我们使用逆向工程,我们可以在数据库中先建好数据库和相关表,通过Mybatis逆向工程,可以在项目中自动生成实体类、Mapper接口、以及Mapper.xml文件。
然后我们在application.properties配置文件中配置数据源、mapper.xml的配置信息。
先来回顾一下之前的配置
# thymeleaf
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.check-template-location=true
spring.thymeleaf.mode=HTML5
spring.thymeleaf.suffix=.html
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.cache=false
# datasource
spring.datasource.url=jdbc:mysql://localhost:3306/db_blog?characterEncoding=utf-8&useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=1111
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# mybatis
mybatis.mapper-locations=classpath:mapper/*.xml
需要在Mapper接口类上注解@Mapper、ServiceImpl实现类中注解@Service
Mapper接口类上注解@Mapper这个注解配置也可以换成在启动类上通过注解扫描包如下
@SpringBootApplication
@MapperScan(value = "com.jiuyue.mapper")
public class MybatisPlusApplication {
public static void main(String[] args) {
SpringApplication.run(MybatisPlusApplication.class, args);
}
}
看起来其实很简单方便,现在我们使用Mybatis-Plus新建项目,也就是Mybatis的升级版了。
从以前的开发新建项目过程中,我们虽然使用了Mybatis的逆向工程来自动生成了部分代码,但是业务层Service接口、ServiceImpl实现类、以及Controller控制器还需要我们手动新建。那么使用Mybatis-Plus我们就可以一步到位。所有的Mybatis-Plus帮你完成。你需要配置一些相关信息,在Controller控制器中注入具体的Service就可以对数据库的数据进行操作了。
项目依赖:
<dependencies>
<!--web-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!--mybatis-plus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.0.6</version>
</dependency>
<!--freemark模板引擎-->
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
</dependency>
<!--lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
使用代码生成器自动生成代码
/**
* Create bySeptember
* 2019/3/13
* 19:49
*/
public class&