MybatisPlus使用代码生成器遇到的小问题(推荐)
MybatisPlus给我们提供了更加强大的代码生成器
MyBatisPlus在3.0.3版本之前使用代码生成器因为存在默认依赖,所以不需要其他的依赖,项目中使用的是3.0.1的版本,所以不用添加其他依赖,添加之后反倒是会报错,实际上MP官网上已经说明了这一点,只是自己没注意才出现错误
3.0.3版本之后就需要添加如下依赖
com.baomidou mybatis-plus-generator 3.2.0 org.apache.velocity velocity-engine-core 2.1
MP默认将Velocity作为模板引擎,同时也支持Freemarker、Beetl需要替换参看链接
这里贴一个比较简单的代码生成器代码
importcom.baomidou.mybatisplus.annotation.DbType;
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;
publicclassCodeGeneration{
/**
*
*@Title:main
*@Description:生成
*@paramargs
*/
publicstaticvoidmain(String[]args){
AutoGeneratormpg=newAutoGenerator();
//全局配置
GlobalConfiggc=newGlobalConfig();
gc.setOutputDir("D:\\generation");//输出文件路径
gc.setFileOverride(true);//是否文件覆盖
gc.setActiveRecord(false);//不需要ActiveRecord(实体类继承Model)特性的请改为false
gc.setEnableCache(false);//XML二级缓存
gc.setBaseResultMap(true);//XMLResultMap
gc.setBaseColumnList(true);//XMLColumnList
gc.setAuthor("lizhan");//作者
//自定义文件命名,注意%s会自动填充表实体属性!
gc.setControllerName("%sController");
//默认service接口名IXXXService自定义指定之后就不会用I开头了
gc.setServiceName("%sService");
gc.setServiceImplName("%sServiceImpl");
gc.setMapperName("%sMapper");
gc.setXmlName("%sMapper");
mpg.setGlobalConfig(gc);
//数据源配置
DataSourceConfigdsc=newDataSourceConfig();
dsc.setDbType(DbType.MYSQL);
dsc.setDriverName("com.mysql.cj.jdbc.Driver");
dsc.setUsername("xxx");
dsc.setPassword("xxx");
dsc.setUrl("jdbc:mysql://localhost:3306/xxx");
mpg.setDataSource(dsc);
//策略配置
StrategyConfigstrategy=newStrategyConfig();
//strategy.setTablePrefix(newString[]{"sys_"});//此处可以修改为您的表前缀
strategy.setNaming(NamingStrategy.underline_to_camel);//表名生成策略(下划线转驼峰)
strategy.setInclude("user");//需要生成的表名
strategy.setSuperServiceClass(null);
strategy.setSuperServiceImplClass(null);
strategy.setSuperMapperClass(null);
mpg.setStrategy(strategy);
//包配置
PackageConfigpc=newPackageConfig();
pc.setParent("com.xxx");
pc.setController("controller");
pc.setService("service");
pc.setServiceImpl("impl");
pc.setMapper("mapper");
pc.setEntity("entity");
pc.setXml("xml");
mpg.setPackageInfo(pc);
//执行生成
mpg.execute();
}
}
PS:下面看下MybatisPlus自动生成代码
POM依赖
com.baomidou mybatis-plus-boot-starter com.baomidou mybatis-plus-generator
样板代码
//01配置链接数据源
publicstaticDataSourceConfigdataSource(){
DataSourceConfigdataSourceConfig=newDataSourceConfig();
dataSourceConfig.setDbType(DbType.MYSQL);
/**************这里请填写你的ip和你的端口号及数据库名称**************/
dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8");
/**************您的账号**************/
dataSourceConfig.setUsername("root");
/**************您的密码**************/
dataSourceConfig.setPassword("root");
//您的数据库引擎
dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver");
returndataSourceConfig;
}
//02配置全局
publicstaticGlobalConfigglobalConfig(){
GlobalConfigglobalConfig=newGlobalConfig();
/**************路径**************/
globalConfig.setOutputDir("X:\\xxx\\"+"/src/main/java");
//不会默认打开文件夹
globalConfig.setOpen(false);
//创建者
globalConfig.setAuthor("xxx");
//创建serviceImpl不会有大写的I
globalConfig.setServiceName("%sService");
returnglobalConfig;
}
//03配置包信息
publicstaticPackageConfigpackageConfig(){
PackageConfigpackageConfig=newPackageConfig();
/**************父级包名**************/
packageConfig.setParent("com.xxxxx");
//父级包名称
packageConfig.setModuleName("generator");
packageConfig.setController("controller");
packageConfig.setService("service");
packageConfig.setServiceImpl("service.impl");
packageConfig.setMapper("mapper");
packageConfig.setEntity("entity");
returnpackageConfig;
}
//04配置策略
publicstaticStrategyConfigstrategyConfig(){
StrategyConfigstrategyConfig=newStrategyConfig();
//添加lombok
strategyConfig.setEntityLombokModel(true);
//下划线转驼峰
strategyConfig.setNaming(NamingStrategy.underline_to_camel);
//同上
strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel);
/**************要生成的表名**************/
strategyConfig.setInclude("xxx");
returnstrategyConfig;
}
publicstaticvoidmain(String[]args){
//创建generator对象
AutoGeneratorautoGenerator=newAutoGenerator();
//链接配置
autoGenerator.setDataSource(dataSource());
//全局配置
autoGenerator.setGlobalConfig(globalConfig());
//包信息
autoGenerator.setPackageInfo(packageConfig());
//配置策略
autoGenerator.setStrategy(strategyConfig());
//去吧皮卡丘
autoGenerator.execute();
}
总结
到此这篇关于MybatisPlus使用代码生成器遇到的小问题(推荐)的文章就介绍到这了,更多相关MybatisPlus代码生成器内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。