1、先了解一下,需要对项目进行哪些改动。三个地方,看下面的截图:
其中第一个是执行代码,可以直接运行,运行后生成entity、service、mapper、controller和xml
第二个是注入主键生成器和注入sql注入器
第三个是依赖包
--------------好,知道我们需要动哪里了,我们动手吧!
第一步:
@Test public void generateCode() { String packageName = "com.luda.springcloud.client";//包名 boolean serviceNameStartWithI = false;//user -> UserService, 设置成true: user -> IUserService generateByTables(serviceNameStartWithI, packageName, "mqrecords");//数据库表名 } private void generateByTables(boolean serviceNameStartWithI, String packageName, String... tableNames) { GlobalConfig config = new GlobalConfig(); String dbUrl = "jdbc:mysql://localhost:3306/mydb";//数据库链接 DataSourceConfig dataSourceConfig = new DataSourceConfig(); dataSourceConfig.setDbType(DbType.MYSQL) .setUrl(dbUrl) .setUsername("root") .setPassword("root") .setDriverName("com.mysql.jdbc.Driver"); StrategyConfig strategyConfig = new StrategyConfig(); strategyConfig .setCapitalMode(true) .setEntityLombokModel(false) .setDbColumnUnderline(true) .setNaming(NamingStrategy.underline_to_camel) .setInclude(tableNames);//修改替换成你需要的表名,多个表名传数组 config.setActiveRecord(false) .setAuthor("达达超人") .setOutputDir("d:\\codeGen") .setFileOverride(true) .setMapperName("%sMapper") .setXmlName("%sMapper"); if (!serviceNameStartWithI) { config.setServiceName("%sService"); } new AutoGenerator().setGlobalConfig(config) .setDataSource(dataSourceConfig) .setStrategy(strategyConfig) .setPackageInfo( new PackageConfig() .setParent(packageName) .setController("controller") .setEntity("bean") ).execute(); } private void generateByTables(String packageName, String... tableNames) { generateByTables(true, packageName, tableNames); }
第二步:
@Configuration @MapperScan(basePackages = {"com.luda.springcloud.client.mapper"}) public class JDBCConfig { @Bean public PaginationInterceptor paginationInterceptor() { return new PaginationInterceptor(); } @Bean public PerformanceInterceptor performanceInterceptor() { return new PerformanceInterceptor(); } /** * 注入主键生成器 */ @Bean public IKeyGenerator keyGenerator(){ return new H2KeyGenerator(); } /** * 注入sql注入器 */ @Bean public ISqlInjector sqlInjector(){ return new LogicSqlInjector(); } }
第三步:
<!-- mybatisplus --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatisplus-spring-boot-starter</artifactId> <version>1.0.5</version> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus</artifactId> <version>2.1.9</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <!-- 默认的版本为3.8.1,修改为4.x,因为3.x使用的为编程的方式,4.x为注解的形式。 --> <version>4.12</version> </dependency> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.20</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> </dependency>
运行 GeneratorServiceEntity main方法 --》生成
把这些代码拷入项目,这里只是代码生成
下面还有mybatisplus集成接口的应用
再生成的controller中
@Autowired private MQRecordsService mqRecordsService;
就可以使用一系列的集成方法了,比如插入数据:mqRecordsService.insert(mqRecords);