目录
- 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-systemdatasource:type: com.alibaba.druid.pool.DruidDataSource # 连接池指定 springboot2.02版本默认使用HikariCP 此处要替换成Druiddriver-class-name: com.mysql.cj.jdbc.Driver # 这个驱动必须用新版,不能用老版url: jdbc:mysql:///hrm-system?characterEncoding=utf-8&serverTimezone=GMT%2B8username: rootpassword: rootdruid: #这是关于德鲁伊连接池的核心配置initial-size: 5 # 初始化时建立物理连接的个数min-idle: 5 # 最小连接池连接数量,最小空闲数量max-active: 20 # 最大连接池连接数量,最大活跃连接数max-wait: 60000 # 配置获取连接等待超时的时间timeBetweenEvictionRunsMillis: 60000minEvictableIdleTimeMillis: 300000validationQuery: SELECT 1testWhileIdle: truetestOnBorrow: truetestOnReturn: falsepoolPreparedStatements: truemaxPoolPreparedStatementPerConnectionSize: 20filters: stat,wallconnectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000stat-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 {@Beanpublic PaginationInterceptor paginationInterceptor() {PaginationInterceptor paginationInterceptor = new PaginationInterceptor();// 设置请求的页面大于最大页后操作, true调回到首页,false 继续请求 默认false// paginationInterceptor.setOverflow(false);// 设置最大单页限制数量,默认 500 条,-1 不受限制// paginationInterceptor.setLimit(500);// 开启 count 的 join 优化,只针对部分 left joinpaginationInterceptor.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 {@Beanpublic 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