mybatisplus代码生成器3.5.2

Mybatis-plus最新代码生成器(3.5.1+)的使用

mybatis-plus 代码生成器(3.5.2)

    @Autowiredprivate CodeGeneratorMapper codeGeneratorMapper;//ip地址private String DB_URL = "";//用户名private String DB_USERNAME = "";//密码private String DB_PASSWD = "";//作者private String DB_AUTHOR = "";//表集合private String DB_TABLE_LIST = "";//数据连接信息private DataSourceConfig dataSourceConfig() {return new DataSourceConfig().setDbType(DbType.MYSQL).setUrl(DB_URL).setUsername(DB_USERNAME).setPassword(DB_PASSWD).setDriverName(GeneratorConfig.DRIVER);}// 配置private GlobalConfig globalConfig() {return new GlobalConfig().setAuthor(DB_AUTHOR).setOutputDir(GeneratorConfig.outputDir).setFileOverride(true) // 是否覆盖已有文件.setOpen(false) // 是否打开输出目录.setDateType(DateType.ONLY_DATE) // 时间采用java 8,(操作工具类:JavaLib => DateTimeUtils).setEnableCache(false)// XML 二级缓存.setBaseResultMap(false)// XML ResultMap.setBaseColumnList(false)// XML columList.setKotlin(false) //是否生成 kotlin 代码.setMapperName(GeneratorConfig.FILE_NAME_DAO) //自定义文件命名,注意 %s 会自动填充表实体属性!.setXmlName(GeneratorConfig.FILE_NAME_XML).setServiceName(GeneratorConfig.FILE_NAME_SERVICE).setServiceImplName(GeneratorConfig.FILE_NAME_SERVICE_IMPL).setControllerName(GeneratorConfig.FILE_NAME_CONTROLLER).setSwagger2(GeneratorConfig.SWAGGER_SUPPORT);}//实体类配置private StrategyConfig strategyConfig() {return new StrategyConfig().setChainModel(true) // 【实体】是否为构建者模型(默认 false).setNaming(NamingStrategy.underline_to_camel).setColumnNaming(NamingStrategy.underline_to_camel)// .setSuperEntityClass(BaseEntity.class).setEntityLombokModel(true).setRestControllerStyle(true).setInclude(DB_TABLE_LIST.split(",")).setControllerMappingHyphenStyle(false).setEntityTableFieldAnnotationEnable(true) //是否生成实体时,生成字段注解,包括@TableName("");}// 包信息配置private PackageConfig packageConfig() {return new PackageConfig()// .setModuleName(scanner("ss")).setParent(GeneratorConfig.PACKAGE_PARENT)// 如果是单体项目请注释掉 .setModuleName(scanner("模块名"))即可,把下面注释取消.setController(GeneratorConfig.PACKAGE_NAME_CONTROLLER).setEntity(GeneratorConfig.PACKAGE_NAME_MODEL).setMapper(GeneratorConfig.PACKAGE_NAME_DAO).setService(GeneratorConfig.PACKAGE_NAME_SERVICE).setServiceImpl(GeneratorConfig.PACKAGE_NAME_SERVICE_IMPL);}private InjectionConfig injectionConfig() {InjectionConfig injectionConfig = new InjectionConfig() {@Overridepublic void initMap() {// to do nothing}};String templatePath = "/templates/mapper.xml.ftl";// 如果模板引擎是 velocity// String templatePath = "/templates/mapper.xml.vm";// 自定义输出配置List<FileOutConfig> focList = new ArrayList<>();// 自定义配置会被优先输出focList.add(new FileOutConfig(templatePath) {@Overridepublic String outputFile(TableInfo tableInfo) {// 自定义输出文件名 , 如果你 Entity 设置了前后缀、此处注意 xml 的名称会跟着发生变化!!return GeneratorConfig.projectPath + "/src/main/resources/mapper/" + tableInfo.getEntityName() + "Mapper" + StringPool.DOT_XML;}});injectionConfig.setFileOutConfigList(focList);return injectionConfig;}private TemplateConfig templateConfig() {TemplateConfig templateConfig = new TemplateConfig();//配置自定义输出模板,指定自定义模板路径,注意不要带上.ftl/.vm, 会根据使用的模板引擎自动识别templateConfig.setController("templates/controllerGenerator.java");templateConfig.setServiceImpl("templates/serviceImplGenerator.java");templateConfig.setMapper("templates/mapperGenerator.java");templateConfig.setXml(null);return templateConfig;}// 获取模板引擎private AbstractTemplateEngine getTemplateEngine() {String templateEngine = GeneratorConfig.TEMPLATE_ENGINE;switch (templateEngine) {case "velocity":return new VelocityTemplateEngine();case "freemarker":return new FreemarkerTemplateEngine();case "beetl":return new BeetlTemplateEngine();default:return new VelocityTemplateEngine();}}// 执行器public Boolean execute(CodeGeneratorResult codeGeneratorResult) {//执行生成代码之前,先初始化数据库信息initMsg(codeGeneratorResult);GlobalConfig globalConfig = globalConfig();DataSourceConfig dataSourceConfig = dataSourceConfig();PackageConfig packageConfig = packageConfig();StrategyConfig strategyConfig = strategyConfig();InjectionConfig injectionConfig = injectionConfig();AbstractTemplateEngine templateEngine = getTemplateEngine();new AutoGenerator().setGlobalConfig(globalConfig).setDataSource(dataSourceConfig).setStrategy(strategyConfig).setPackageInfo(packageConfig).setTemplateEngine(templateEngine).setCfg(injectionConfig).setTemplate(templateConfig()).execute();//更新数据库连接LambdaUpdateWrapper<CodeGenerator> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();lambdaUpdateWrapper.eq(CodeGenerator::getId, 1).set(CodeGenerator::getDbName, codeGeneratorResult.getDbName()).set(CodeGenerator::getDbUrl, IpUtils.obtainIp(codeGeneratorResult.getDbUrl())).set(CodeGenerator::getTableName, codeGeneratorResult.getTableName()).set(CodeGenerator::getUserName, codeGeneratorResult.getUserName()).set(CodeGenerator::getPassword, codeGeneratorResult.getPassword()).set(CodeGenerator::getAuthor, codeGeneratorResult.getAuthor());codeGeneratorMapper.update(null, lambdaUpdateWrapper);return true;}//执行生成代码之前,先初始化数据库信息public void initMsg(CodeGeneratorResult codeGeneratorResult) {this.DB_URL = codeGeneratorResult.getDbUrl();this.DB_USERNAME = codeGeneratorResult.getUserName();this.DB_PASSWD = codeGeneratorResult.getPassword();this.DB_AUTHOR = codeGeneratorResult.getAuthor();this.DB_TABLE_LIST = codeGeneratorResult.getTableName();}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/515821.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从OpenKruise用户疑问开始理解K8s资源更新机制

云栖号资讯&#xff1a;【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯&#xff0c;还在等什么&#xff0c;快来&#xff01; 背景 OpenKruise 是阿里云开源的大规模应用自动化管理引擎&#xff0c;在功能上对标了 Kubernetes 原生的 Deployment / Sta…

软考-信息安全

文章目录对称加密&#xff08;私钥加密&#xff09;非对称加密&#xff08;公钥加密&#xff09;信息摘要、数字信封、数字签名、数字证书安全协议网络攻击入侵检测计算机病毒防火墙对称加密&#xff08;私钥加密&#xff09; 加密、解密用同一个密钥&#xff1b;适用于大消息…

学霸的奇葩选择,成功不仅靠运气,对话阿里云MVP黄胜蓝

云栖号资讯&#xff1a;【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯&#xff0c;还在等什么&#xff0c;快来&#xff01; 简介&#xff1a; 为了逃避高考&#xff0c;他凭借NOIP一等奖成功保送武大&#xff1b;大学时就负责校园门户网站的运维工作&…

CSDN湘苗培优|保持热情,告别平庸

湘苗培优招生进行中在培优中&#xff0c;遇见更好的自己——CSDN高校俱乐部CSDN湘苗培优随着我国信息产业飞速发展&#xff0c;通过常规灌输式培养出来的学员已经不能够满足企业要求。企业更缺乏的是具备自主学习能力、具备综合解决问题能力的高素质技术人才。高素质技术人才需…

对话阿里云总裁张建锋:解密阿里云再生长的动力、合力和张力

文 |《财经》记者 谢丽容 秋冬交替往往在一夜之间。这一年&#xff0c;受疫情的客观影响&#xff0c;数字化新旧时代的交替&#xff0c;从稳步推进&#xff0c;转变为一夜之间——数字化成为中国经济的主要驱动力&#xff0c;变革因为疫情而更加强烈&#xff0c;政府、企业都认…

Cause: java.lang.IllegalArgumentException: No enum constant org.apache.ibatis.type.JdbcType.Date

异常日志&#xff1a; Cause: org.apache.ibatis.builder.BuilderException:Error resolving JdbcType. Cause: java.lang.IllegalArgumentException: No enum constant org.apache.ibatis.type.JdbcType.Date异常原因&#xff1a; 1.PO、xml、数据库&#xff0c;三者间关系映…

Spring Boot 构建war 部署到tomcat下无法在Nacos中注册服务

文章目录1. 问题2. 分析3. 解决方案1. 问题 使用Nacos作为注册中心的Spring Boot项目&#xff0c;以war包形式部署到服务器上&#xff0c;启动项目发现该服务无法在Nacos中注册。 2. 分析 SpringCloud 项目打 war 包部署时&#xff0c;也就是使用外部 Tomcat 部署&#xff0…

掌门1对1微服务体系Solar|阿里巴巴Sentinel落地实践

前言 掌门1对1精耕在线教育领域&#xff0c;近几年业务得到了快速发展&#xff0c;但同时也遭遇了“成长的烦恼”。随着微服务数量不断增加&#xff0c;流量进一步暴增&#xff0c;硬件资源有点不堪重负&#xff0c;那么&#xff0c;如何实现更好的限流熔断降级等流量防护措施…

湘苗培优|值不值?效果告诉你

號外高校俱乐部报名ing湘苗培优REC等待优秀的你!湘苗培优参与项目交付企业内推求职简历指导CSDN技术认证你能获得优秀的企业导师&#xff01;志同道合的朋友锻造自己的平台&#xff01;面对面的交流这里有介绍湘苗培优缘起随着我国信息产业飞速发展&#xff0c;通过常规灌输式培…

软考 - 法律法规 标准化

法律法规 知识产权&#xff1a;著作权、邻接权、专利权、商标权、商业秘密权、集成电路布图设计权&#xff1b; 权生效时间有效期&#xff08;年&#xff09;专利权&#xff08;发明&#xff09;申请20专利权&#xff08;实用新型&#xff09;申请10专利权&#xff08;外观设…

Redis 分布式集群搭建2022版本+密码(linux环境)

Linux环境 安装 Redis-6.2.6 配置运行_01 https://gblfy.blog.csdn.net/article/details/105583077 文章目录一、节点分布总览二、软件配置初始化2.1. 下载2.2. 解压2.3. 编译安装2.4. 配置抽离2.5. 配置编辑2.6. 101节点操作2.7. 102 节点操作2.8. 103节点操作三、软件配置集群…

CDN百科第三讲|如果用了云服务器,还需要做CDN加速吗?

在全站上云的背景下&#xff0c;云计算已经不仅仅是大型互联网公司的独享概念&#xff0c;正在被更多的传统企业、中小企业甚至个人站长所采用。在众多云计算服务中&#xff0c;最常见两个产品就是云服务器和CDN&#xff0c;今天的CDN百科第三讲&#xff0c;就给大家介绍下你关…

如何选择适合你的企业数据管理类产品

在全站上云的背景下&#xff0c;云计算已经不仅仅是大型互联网公司的独享概念&#xff0c;正在被更多的传统企业、中小企业甚至个人站长所采用。在众多云计算服务中&#xff0c;最常见两个产品就是云服务器和CDN&#xff0c;今天的CDN百科第三讲&#xff0c;就给大家介绍下你关…

软件设计师 - 软件工程

文章目录1.风险管理2.多态3.RUP (Rational Unified Process&#xff0c;统一软件开发过程)4.可移植性5.内聚、耦合5.1.内聚类型5.2.耦合类型6.开发模型UP统一开发过程CMM软件过程成熟度软件维护类型极限编程风险1.风险管理 风险识别&#xff1a;建立风险条目检查表&#xff0c…

5G与金融行业融合应用的场景探索

来源 | 人民数字FINTECH责编 | 晋兆雨头图 | 付费下载于视觉中国5G 技术如何与银行、保险、证券业结合&#xff1f;近年来&#xff0c;金融业高度关注5G技术应用&#xff0c;一些金融机构希望抓住5G应用发展窗口期&#xff0c;积极探索新业态和新模式&#xff0c;把握5G金融应用…

云端研发新基建:Serverless与持续架构服务落地实践

在《我心中的云时代原生开发环境》这篇文章中&#xff0c;我们探讨过云厂商的愿景&#xff0c;云计算的趋势与现状以及研发团队的架构服务诉求等背景。今天&#xff0c;我想结合我们打造的云开发平台&#xff08;Cloud Workbench&#xff09;跟大家进一步聊聊&#xff0c;如何打…

Dubbo-gok8s注册中心设计方案与实现

Dubbo-go k8s注册中心设计方案与实现 随着云原生的推广&#xff0c;越来越多的公司或组织将服务容器化&#xff0c;并将容器化后的服务部署在k8s集群中。 今天这篇文章将会介绍dubbo-go将k8s作为服务注册中心的方案设计&#xff0c;以及具体实现。到目前为止该方案的实现已经被…

软件设计师 - 数据流图

文章目录解题思路物理数据流图逻辑数据流图数据流图设计原则结构化语言解题思路 1.审题&#xff0c;圈出名词。 2.根据数据流图的平衡原则&#xff0c;判断数据流正确或补充数据流图&#xff1b; 物理数据流图 关注系统物理实体&#xff0c;及文档、输入输出硬拷贝。是系统构…

vue pdfjs 在线预览

下载pdfjs 官网&#xff1a;http://mozilla.github.io/pdf.js/getting_started/#download 放入项目中 将下载下来的文件解压缩后&#xff0c;重命名为pdf&#xff0c;将里面的pdf文件夹拷贝到项目中的public文件夹中 页面中使用 <template><div class"container…