在项目对数据库表设计完成后,可以通过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(); } }