MybatisPlus代码生成器(快速开发)
代码生成器(快速开发)
- 模板:MyBatisPlus提供
- 数据库相关配置:读取数据库获取信息
- 开发者自定义配置:手工配置
步骤
-
添加依赖
<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifaactId> <version>3.4.1</version> </dependency> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>veklocity-engine-core</artifactId> <version>2.3</version> </dependency>
-
在config里面创建Generator类并在其中添加核心代码
public class Generator { public static void main(String[] args) { AutoGenerator autoGenerator=new AutoGenerator(); /**设置全局配置*/ GlobalConfig globalConfig = new GlobalConfig(); //设置代码生成位置 globalConfig.setOutputDir("E:\\MyBatisPlus学习\\springboot_mybatisplus\\src\\main\\java"); //设置生成完毕后死否打开生成代码所在的目录 globalConfig.setOpen(false); //设置作者 globalConfig.setAuthor("筝弈"); //设置是否夫噶原始生成的文件 globalConfig.setFileOverride(true); //设置数据层接口名,%s为占位符,指代模块/表名名称 globalConfig.setMapperName("%sDao"); //设置Id生成策略 globalConfig.setIdType(IdType.ASSIGN_ID); //执行全局配置 autoGenerator.setGlobalConfig(globalConfig); /**包名配置*/ PackageConfig packageConfig = new PackageConfig(); //设置生成的包名,与代码所在位置不冲突,二者叠加组成完整路径 packageConfig.setParent("com.aaa"); //设置实体类包名 packageConfig.setEntity("domain"); //设置数据层包名 packageConfig.setMapper("dao"); autoGenerator.setPackageInfo(packageConfig); /**数据源配置*/ DataSourceConfig dataSourceConfig=new DataSourceConfig(); dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/ssm_db"); dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver"); dataSourceConfig.setUsername("root"); dataSourceConfig.setPassword("505489"); autoGenerator.setDataSource(dataSourceConfig); /**策略配置*/ StrategyConfig strategyConfig= new StrategyConfig(); //指定为哪个数据库表名为 tbl_book的表生成东西 加逗号可以往后加需要增加的表 strategyConfig.setInclude("tbl_book"); //兼容数据库表名的前缀tbl_让其生成的对应实体类只有tbl_后面的名字 strategyConfig.setTablePrefix("tbl_"); //开启Rest风格的Controller strategyConfig.setRestControllerStyle(true); //使用lombok创建实体类 strategyConfig.setEntityLombokModel(true); //添加删除状态字段 strategyConfig.setLogicDeleteFieldName("deleted"); //添加乐观锁 strategyConfig.setVersionFieldName("version"); autoGenerator.setStrategy(strategyConfig); autoGenerator.execute(); } }
注意
我们使用mybatisplus一般用不到,该代码生成器生成到的mapper包里面的xml文件,一般我们会删掉
还有我们是service使用时也会删掉里面的东西,因为里面的具体业务逻辑我们一般是有自己的一套的