Mybatis plus 자동 코드 생 성기 기반 구현 코드
<!-- mybatis-plus begin -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>2.2.0</version>
</dependency>
데이터베이스 연결 도 있어 요.
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>compile</scope>
</dependency>
마지막 으로 소스 코드.
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.rules.DbType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import org.junit.jupiter.api.Test;
/**
* mybatis-plus
*
* @author Terry
* @version 1.0
* @date 2018-05-16 09:35
*/
public class SimpleMp {
@Test
public void generateCode() {
//
String packageName = "com.hciot.hhhh";
//user -> UserService, true: user -> IUserService
boolean serviceNameStartWithI = false;
//
String[] tableNames = new String[]{"data_air_sensor_co", "order_product", "relation_device_gateway"};
generateByTables(serviceNameStartWithI, packageName, tableNames);
}
/**
*
*
* @param serviceNameStartWithI false
* @param packageName
* @param tableNames
* @author Terry
*/
private void generateByTables(boolean serviceNameStartWithI, String packageName, String... tableNames) {
//
DataSourceConfig dataSourceConfig = getDataSourceConfig();
//
StrategyConfig strategyConfig = getStrategyConfig(tableNames);
//
GlobalConfig globalConfig = getGlobalConfig(serviceNameStartWithI);
//
PackageConfig packageConfig = getPackageConfig(packageName);
//
atuoGenerator(dataSourceConfig, strategyConfig, globalConfig, packageConfig);
}
/**
*
*
* @param dataSourceConfig
* @param strategyConfig
* @param config
* @param packageConfig
* @author Terry
*/
private void atuoGenerator(DataSourceConfig dataSourceConfig, StrategyConfig strategyConfig, GlobalConfig config, PackageConfig packageConfig) {
new AutoGenerator()
.setGlobalConfig(config)
.setDataSource(dataSourceConfig)
.setStrategy(strategyConfig)
.setPackageInfo(packageConfig)
.execute();
}
/**
*
*
* @param packageName
* @return PackageConfig
* @author Terry
*/
private PackageConfig getPackageConfig(String packageName) {
return new PackageConfig()
.setParent(packageName)
.setXml("mapper")
.setMapper("dao")
.setController("controller")
.setEntity("entity");
}
/**
*
*
* @param serviceNameStartWithI false
* @return GlobalConfig
* @author Terry
*/
private GlobalConfig getGlobalConfig(boolean serviceNameStartWithI) {
GlobalConfig globalConfig = new GlobalConfig();
globalConfig
.setBaseColumnList(true)
.setBaseResultMap(true)
.setActiveRecord(false)
.setAuthor("Terry")
//
.setOutputDir(getOutputDir("mybatis-plus"))
.setFileOverride(true);
if (!serviceNameStartWithI) {
// service
globalConfig.setServiceName("%sService");
}
return globalConfig;
}
/**
*
*
* @param projectName
* @return
* @author Terry
*/
private String getOutputDir(String projectName) {
String path = this.getClass().getClassLoader().getResource("").getPath();
int index = path.indexOf(projectName);
return path.substring(1, index) + projectName + "/src/main/java/";
}
/**
*
*
* @param tableNames
* @return StrategyConfig
* @author Terry
*/
private StrategyConfig getStrategyConfig(String... tableNames) {
return new StrategyConfig()
// ORACLE
.setCapitalMode(true)
.setEntityLombokModel(false)
// 、 、 ( false)
.setDbColumnUnderline(true)
//
.setNaming(NamingStrategy.underline_to_camel)
// ,
.setInclude(tableNames);
}
/**
*
*
* @return DataSourceConfig
* @author Terry
*/
private DataSourceConfig getDataSourceConfig() {
String dbUrl = "jdbc:mysql://localhost:3306/test";
return new DataSourceConfig().setDbType(DbType.MYSQL)
.setUrl(dbUrl)
.setUsername("root")
.setPassword("root")
.setDriverName("com.mysql.jdbc.Driver");
}
/**
*
*
* @param packageName
* @param tableNames
* @author Terry
*/
@SuppressWarnings("unused")
private void generateByTables(String packageName, String... tableNames) {
generateByTables(true, packageName, tableNames);
}
}
총결산위 에서 말씀 드 린 것 은 마 이 바 티 스 플러스 자동 코드 생 성 기 를 기반 으로 한 실현 코드 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.소 편 은 제때에 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
MySQL/마이바티스 | 동적 쿼리 사용A라는 서비스에 해당하는 테이블을 조인하고 조회하는 데 사용됩니다. 나중에 공통화를 위해 B 및 C 서비스도 추가됩니다. A, B, C 서비스는 모두 단일 쿼리에서 작동할 수 있도록 공통화되어야 합니다. 테이블에 각...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.