mybatis-plus自动生成代码的示例代码
一、介绍
本教程将介绍如何使用mybatis-plus工具自动给我们生成Controller、Service、Entity、Mapper、Mapper.xml层代码
要求:
①生成的Controller类,需要继承BaseController
②生成的Entity类,需要继承BaseEntity
③生成的Service,默认名称下是以I开头的接口,在生成Service层代码中需要把这个I去掉
二、实现步骤
①在数据库中创建好数据库与要生成代码对应的表
这里拿user表举例
DROPTABLEIFEXISTSuser; CREATETABLEuser ( idBIGINT(20)NOTNULLCOMMENT'主键ID', nameVARCHAR(30)NULLDEFAULTNULLCOMMENT'姓名', ageINT(11)NULLDEFAULTNULLCOMMENT'年龄', emailVARCHAR(50)NULLDEFAULTNULLCOMMENT'邮箱', PRIMARYKEY(id) ); DELETEFROMuser; INSERTINTOuser(id,name,age,email)VALUES (1,'Jone',18,'test1@baomidou.com'), (2,'Jack',20,'test2@baomidou.com'), (3,'Tom',28,'test3@baomidou.com'), (4,'Sandy',21,'test4@baomidou.com'), (5,'Billie',24,'test5@baomidou.com');
②创建一个SpringBoot项目,其中pom.xml内容如下:
4.0.0 org.springframework.boot spring-boot-starter-parent 2.1.11.RELEASE com.lcy mybatis-plus-demo 0.0.1-SNAPSHOT mybatis-plus-demo DemoprojectforSpringBoot 1.8 org.springframework.boot spring-boot-starter-web org.projectlombok lombok true org.springframework.boot spring-boot-starter-test test com.baomidou mybatis-plus-boot-starter 3.3.0 mysql mysql-connector-java 5.1.35 com.baomidou mybatis-plus-generator 3.3.0 org.apache.velocity velocity-engine-core 2.1 org.springframework.boot spring-boot-maven-plugin
③创建代码生成类
packagecom.lcy.demo.generator;
importcom.baomidou.mybatisplus.generator.AutoGenerator;
importcom.baomidou.mybatisplus.generator.config.DataSourceConfig;
importcom.baomidou.mybatisplus.generator.config.GlobalConfig;
importcom.baomidou.mybatisplus.generator.config.PackageConfig;
importcom.baomidou.mybatisplus.generator.config.StrategyConfig;
importcom.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
publicclassMysqlGenerator{
publicstaticvoidmain(String[]args){
AutoGeneratormpg=newAutoGenerator();
GlobalConfiggc=newGlobalConfig();
StringprojectPath=System.getProperty("user.dir");
gc.setOutputDir(projectPath+"/src/main/java");
gc.setAuthor("liangcy");//作者
gc.setOpen(false);//生成代码后是否打开文件夹
gc.setServiceName("%sService");//设置Service接口生成名称,这样生成接口前面就不会有I
mpg.setGlobalConfig(gc);
DataSourceConfigdsc=newDataSourceConfig();
dsc.setUrl("jdbc:mysql://localhost:3306/mybatis-plus-demo?useUnicode=true&serverTimezone=GMT&useSSL=false&characterEncoding=utf8");
dsc.setDriverName("com.mysql.jdbc.Driver");
dsc.setUsername("root");
dsc.setPassword("123456");
mpg.setDataSource(dsc);
//包配置
PackageConfigpc=newPackageConfig();
pc.setModuleName("sys");//模块名称,这里可以根据不同模块来写
pc.setParent("com.lcy.demo");//父包名
mpg.setPackageInfo(pc);
//策略配置
StrategyConfigstrategy=newStrategyConfig();
strategy.setNaming(NamingStrategy.underline_to_camel);
strategy.setColumnNaming(NamingStrategy.underline_to_camel);
strategy.setSuperControllerClass("com.lcy.demo.sys.controller.BaseController");
strategy.setSuperEntityClass("com.lcy.demo.sys.entity.BaseEntity");
strategy.setEntityLombokModel(true);
strategy.setInclude("user");//如果要生成多个,这里可以传入String[]
mpg.setStrategy(strategy);
mpg.execute();
}
}
补充说明:
- 代码生成过程中用到了Lombok插件,因此需要在IDEA中安装好Lombok插件
- 如果我们删除了生成的代码,包名可能会飘红,这时我们需要更新一下maven工程,飘红就会消失
- 代码将生成在我们设置的父包名+模块名中
到此这篇关于mybatis-plus自动生成代码的示例代码的文章就介绍到这了,更多相关mybatis-plus自动生成代码内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!