当前位置: 首页 > news >正文

Mybatis-Plus——09,代码自动生成器

代码自动生成器

      • 一、先创建一个表
      • 二、创建一个类,配置代码生成器
      • 三、运行方法
      • 四、运行主方法,报错了。

一、先创建一个表

在这里插入图片描述

二、创建一个类,配置代码生成器

package com.gang;import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.po.TableFill;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;import java.util.ArrayList;public class gangCode {public static void main(String[] args) {//我们需要构建一个代码生成器对象AutoGenerator mpg = new AutoGenerator();//怎么样去执行,配置策略//1、全局配置GlobalConfig gc = new GlobalConfig();String projectPath = System.getProperty("user.dir");//获取当前目录gc.setOutputDir(projectPath+"/src/main/java");//输出到哪个目录gc.setAuthor("陈某");gc.setOpen(false);gc.setFileOverride(false);//是否覆盖gc.setServiceName("%sService");//去Service的I前缀gc.setIdType(IdType.ID_WORKER);gc.setDateType(DateType.ONLY_DATE);gc.setSwagger2(true);mpg.setGlobalConfig(gc);//2、设置数据源DataSourceConfig dsc = new DataSourceConfig();dsc.setUsername("root");dsc.setPassword("123456");dsc.setUrl("jdbc:mysql://localhost:3306/mybatis_plus_study_one?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai");dsc.setDriverName("com.mysql.cj.jdbc.Driver");dsc.setDbType(DbType.MYSQL);mpg.setDataSource(dsc);//3、包的配置PackageConfig pc = new PackageConfig();pc.setModuleName("chickenkun");pc.setParent("com.gang");pc.setEntity("pojo");pc.setMapper("mapper");pc.setService("service");pc.setController("controller");mpg.setPackageInfo(pc);//4、策略配置StrategyConfig strategy = new StrategyConfig();//strategy.setInclude("admin","danyuan","building","room");//设置要映射的表名,只需改这里即可strategy.setInclude("chickenkun");//设置要映射的表名,只需改这里即可strategy.setNaming(NamingStrategy.underline_to_camel);strategy.setColumnNaming(NamingStrategy.underline_to_camel);strategy.setEntityLombokModel(true);//是否使用lombok开启注解strategy.setLogicDeleteFieldName("deleted");//自动填充配置TableFill gmtCreate = new TableFill("create_time", FieldFill.INSERT);TableFill gmtUpdate = new TableFill("update_time", FieldFill.INSERT_UPDATE);ArrayList<TableFill> tableFills = new ArrayList<>();tableFills.add(gmtCreate);tableFills.add(gmtUpdate);strategy.setTableFillList(tableFills);//乐观锁配置strategy.setVersionFieldName("version");strategy.setRestControllerStyle(true);//开启驼峰命名strategy.setControllerMappingHyphenStyle(true);//localhost:8080/hello_id_2mpg.setStrategy(strategy);mpg.execute();//执行}
}

三、运行方法

在这里插入图片描述

报错了,缺少依赖,Velocity是一个基于Java的模板引擎,其提供了一个Context容器,在java代码里面我们可以往容器中存值,然后在vm文件中使用特定的语法获取,这是velocity基本的用法,其与jsp、freemarker并称为三大视图展现技术。

添加依赖

		<!--Velocity是一个基于Java的模板引擎--><dependency><groupId>org.apache.velocity</groupId><artifactId>velocity-engine-core</artifactId><version>2.0</version></dependency>

导入依赖之后,再运行一次,没有报错,自动生成了代码

在这里插入图片描述

但是有注解报错了

在这里插入图片描述

报错的原因是缺少依赖 @ApiModel 跟 @ApiModelProperty 都是 swagger2 的注解。

导入依赖包,解决。

		<!-- swagger2 所需依赖 --><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version></dependency>

四、运行主方法,报错了。

报错的原因是,自动生成的代码,mapper包,我们并没有扫描

把mapper包扫描加上

在这里插入图片描述还有的报错可能就是service实现类并没有加@Service注解

http://www.lryc.cn/news/325798.html

相关文章:

  • Temu api接口 获取商品详情 数据采集
  • 安捷伦Agilent N1912A功率计
  • ES 进阶知识
  • ChatGPT 对 ELT的理解
  • qt事件机制学习笔记
  • 网红电商主播培养体系招聘管理制度孵化方案
  • Android获取经纬度的最佳实现方式
  • 芒果YOLOv8改进137:主干篇CSPNeXt,小目标检测专用,COCO数据集验证,协调参数量和计算量的均衡,即插即用 | 打造高性能检测
  • 【测试开发学习历程】认识Python + 安装Python
  • webpack proxy工作原理?为什么能解决跨域?
  • ArkTS编写的HarmonyOS原生聊天UI框架
  • uni-app中web-view的使用
  • 前端跨域概念及解决方法
  • Redis中的事务机制
  • 从零到一构建短链接系统(八)
  • 缺省和重载。引用——初识c++
  • java常用IO流功能——字符流和缓冲流概述
  • Python中模块的定义、用法
  • 【vscode 常用扩展插件】
  • Retelling|Facebook2
  • 读3dsr代码①测试
  • Vant Weapp小程序 van-uploader 文件上传点击无反应,删除无反应
  • 【力扣】55.跳跃游戏、45.跳跃游戏Ⅱ
  • 038—pandas 重采样线性插补
  • 智慧工地源码 数字孪生可视化大屏 工地管理平台系统源码 多端展示(PC端、手机端、平板端)
  • 深度学习Top10算法之深度神经网络DNN
  • 【智能算法】海马优化算法(SHO)原理及实现
  • AI大模型学习的伦理与社会影响
  • 记录些LangChain相关的知识
  • C语言例4-7:格式字符f的使用例子