目录
- 1.工程引入mybatis-plus3-generator代码生成器
- 2.只需要关注mybatis-plus-config.properties然后生成代码
- 3.分别添加依赖解决报错
- 4.加入其它配置然后测试效果
3.4版本
1.工程引入mybatis-plus3-generator代码生成器
mybatis-plus3-generator放入项目工程中,父工程pom.xml添加<module>依赖,子工程修改父工程的定位数据,
2.只需要关注mybatis-plus-config.properties然后生成代码
代码输出基本路径 (子工程的绝对路径+/src/main/java)
包的路径(包取名字,如 itsource.ming)
表名
数据库连接信息
3.分别添加依赖解决报错
hrm-system-common
<!-- mybatis-plus3的依赖-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.0</version>
</dependency>
<!-- swagger-ui的依赖-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
hrm-system-server-1040
<!-- 导入数据库连接相关的依赖-->
<!-- 数据库驱动和druid-->
<!-- 注意坑: mybatis-plus3.x后,在自动生成的实体类中,对日期类型进行了升级,使用的是jdk1.8的LocalDate
要支持这种数据类型,必须对连接池druid和mysql驱动进行升级,升级版本如下:
-->
<!-- MySql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.17</version>
</dependency>
<!-- druid连接池 这个starter的坐标实际上也只是导入了关联版本的druid连接池坐标,所以这里直接用导入druid坐标替代-->
<!--<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.21</version>
</dependency>-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.1</version>
</dependency>
controller和query删除并调整模板参数重新生成
相对路径没错了但是由于BaseQuery是在别的工程所以依然有报红需要补充工程间依赖
相对路径没错了但是由于PageList是在别的工程所以依然有报红需要补充工程间依赖
图略
4.加入其它配置然后测试效果
application.yml (hrm-system-server-1040)
#配置数据库的连接
spring:
application:
name: hrm-system
datasource:
type: com.alibaba.druid.pool.DruidDataSource # 连接池指定 springboot2.02版本默认使用HikariCP 此处要替换成Druid
driver-class-name: com.mysql.cj.jdbc.Driver # 这个驱动必须用新版,不能用老版
url: jdbc:mysql:///hrm-system?characterEncoding=utf-8&serverTimezone=GMT%2B8
username: root
password: root
druid: #这是关于德鲁伊连接池的核心配置
initial-size: 5 # 初始化时建立物理连接的个数
min-idle: 5 # 最小连接池连接数量,最小空闲数量
max-active: 20 # 最大连接池连接数量,最大活跃连接数
max-wait: 60000 # 配置获取连接等待超时的时间
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
validationQuery: SELECT 1
testWhileIdle: true
testOnBorrow: true
testOnReturn: false
poolPreparedStatements: true
maxPoolPreparedStatementPerConnectionSize: 20
filters: stat,wall
connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
stat-view-servlet:
allow: 0.0.0.0 # 允许哪些IP访问druid监控界面,多个IP以逗号分隔
login-username: admin # 设置登录帐号
login-password: 123456 # 设置登录密码
reset-enable: false # 是否允许重置数据
# url-pattern: /database/* # 默认访问根路径是:/druid/;也可以自定义设置
mybatis-plus: # mybatis的配置。下面的配置希望执行Sql语句可以打印到 控制台
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
# 开启mybatis-plus的sql打印
MyBatis-Plus配置类 (hrm-system-server-1040 建config包 改mapperscan包名)
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import com.baomidou.mybatisplus.extension.plugins.pagination.optimize.JsqlParserCountOptimize;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
//Spring boot方式来对mybatis-plus3进行 mapper的扫描
@Configuration
@MapperScan("itsource.cw.mapper")
public class MybatisPlusConfig {
@Bean
public PaginationInterceptor paginationInterceptor() {
PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
// 设置请求的页面大于最大页后操作, true调回到首页,false 继续请求 默认false
// paginationInterceptor.setOverflow(false);
// 设置最大单页限制数量,默认 500 条,-1 不受限制
// paginationInterceptor.setLimit(500);
// 开启 count 的 join 优化,只针对部分 left join
paginationInterceptor.setCountSqlParser(new JsqlParserCountOptimize(true));
return paginationInterceptor;
}
}
添加swagger-ui的配置类 (hrm-system-server-1040 建config包 注意改包名)
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
ApiInfo apiInfo = new ApiInfoBuilder()
.title("服务接口文档范例")
.description("springboot集成框架案例")
.version("1.0")
.build();
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo)
.select()
//以扫描包的方式
.apis(RequestHandlerSelectors.basePackage("cn.itsource.cw"))
.paths(PathSelectors.any())
.build();
}
}
测试效果
先启动EurekaApp,再启动SystemServeApp
localhost:1040/swagger-ui.html