在項目對數據庫表設計完成后,可以通過MybatisPlus根據數據庫表快速生成實體類、mapper層以及service層、controller層的模板。具體方法如下:
1、導包
<!-- MybtaisPlus--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus</artifactId> <version>3.4.3.4</version> </dependency> <!-- 代碼生成器--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.3.2</version> </dependency> <!-- 模板引擎--> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId> <version>2.2</version> </dependency> <!-- 日志接口實現--> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>1.7.25</version> <scope>compile</scope> </dependency>
2、根據需求設計並創建數據庫
略
3、編寫自動生成類並對生成器進行配置
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration("classpath:spring.xml") public class Generator { @Autowired DataSource ds; @Test public void testGenerator() { // 全局配置 GlobalConfig config = new GlobalConfig(); config.setActiveRecord(false) // AR模式 .setAuthor("作者") // 作者 .setOutputDir(System.getProperty("user.dir") + "/src/main/java") // 生成路徑 .setFileOverride(true) // 文件覆蓋 .setIdType(IdType.AUTO) // 主鍵策略 .setServiceName("%sService"); // 設置生成的service接口的名字,默認為I%sSerice // 數據源配置 DataSourceConfig dsConfig = new DataSourceConfig(); dsConfig.setDbType(DbType.MYSQL) // 設置數據庫類型 .setDriverName("com.mysql.cj.jdbc.Driver") .setUrl("jdbc:mysql://127.0.0.1:3306/xxx?useUnicode=true&characterEncoding=utf8") .setUsername("root") .setPassword("123456"); // 策略配置 StrategyConfig stConfig = new StrategyConfig(); stConfig.setCapitalMode(true) // 全局大寫命名 .setNaming(NamingStrategy.underline_to_camel); // 數據庫表映射到實體的命名策略 // 包名配置 PackageConfig pkConfig = new PackageConfig(); pkConfig.setParent("com.miz") .setMapper("dao") .setService("service") .setController("controller") .setEntity("entity") .setXml("dao.mapper"); // 整合 AutoGenerator ag = new AutoGenerator(); ag.setGlobalConfig(config).setDataSource(dsConfig).setStrategy(stConfig).setPackageInfo(pkConfig); // 生成 ag.execute(); } }