mysql-connector-java
runtime
com.alibaba
fastjson
1.2.46
io.springfox
springfox-swagger2
2.2.2
io.springfox
springfox-swagger-ui
2.2.2
org.projectlombok
lombok
provided
org.apache.commons
commons-lang3
3.7
org.springframework.boot
spring-boot-starter-test
test
org.freemarker
freemarker
2.3.28
org.apache.velocity
velocity-engine-core
2.0
com.alibaba
druid
1.0.9
org.codehaus.jackson
jackson-mapper-asl
1.5.0
这里是我把后续要用到的依赖一起加上了,包含swagger,fastjson,jackson,freemarker,velocity,lombok等,当然最主要的是mybatis-plus-boot-starter,这里用的3.0.3 的版本算是比较新的了。引入它之后就不需要在添加mybatis 依赖了。
配置数据源 application.properties 中添加
spring.datasource.url=jdbc:mysql://localhost:3306/exchange?useUnicode=true&characterEncoding=gbk&useSSL=false&serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
添加数据源配置类:
@Configuration
public class MybatisConfig {
@Bean
@ConfigurationProperties(prefix = “spring.datasource”)
public DataSource druidDataSource() {
return new DruidDataSource();
}
/**
-
分页拦截器
-
@return
*/
@Bean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor();
}
}
使用一下MP 的代码生成功能:
创建代码生成器类:
package com.elens.data.rbces.mybatis;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.core.toolkit.StringPool;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.InjectionConfig;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.po.TableInfo;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import org.apache.commons.lang3.StringUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.ResourceBundle;
/**
-
@BelongsProject: rbc-es
-
@BelongsPackage: com.elens.data.rbces.mybatis
-
@Author: xuweichao
-
@CreateTime: 2019-04-10 17:08
-
@Description: 代码生成
*/
public class MysqlGenerator {
private static String projectPath = System.getProperty(“user.dir”);
//父包路径
private static String parentPackageName = “com.elens.data.rbces”;
//作者名字
private static String authorName = “xuweichao”;
/**
-
全局设置
-
@return
*/
public static GlobalConfig globalConfig() {
GlobalConfig globalConfig = new GlobalConfig();
globalConfig.setOutputDir(projectPath + “/src/main/java”)
// 是否支持 AR
.setActiveRecord(true)
//设置作者名字
.setAuthor(authorName)
//文件覆盖(全新文件)
.setFileOverride(true)
//主键策略
.setIdType(IdType.AUTO)
//SQL 映射文件
.setBaseResultMap(true)
//SQL 片段
.setBaseColumnList(true)
.setSwagger2(true)
.setEnableCache(false)
.setOpen(false)
//时间类型
.setDateType(DateType.ONLY_DATE)
.setEnableCache(false)
;
return globalConfig;
}
/**
-
数据源配置
-
@return
*/
public static DataSourceConfig dataSourceConfig() {
DataSourceConfig dataSourceConfig = new DataSourceConfig();
ResourceBundle rootResource = ResourceBundle.getBundle(“application”);
String url = rootResource.getString(“spring.datasource.url”);
String username = rootResource.getString(“spring.datasource.username”);
String password = rootResource.getString(“spring.datasource.password”);
String driverClassName = rootResource.getString(“spring.datasource.driver-class-name”);
dataSourceConfig
.setDbType(DbType.MYSQL)
.setUrl(url)
.setDriverName(driverClassName)
.setUsername(username)
// .setSchemaName(“public”)
.setPassword(password);
return dataSourceConfig;
}
/**
-
包名相关配置
-
@return
*/
public static PackageConfig packageConfig(String moduleName) {
PackageConfig packageConfig = new PackageConfig();
//配置父包路径
packageConfig.setParent(parentPackageName)
.s