MyBatis-Plus——代码生成器(3.5.1+版本)
文章目录
- 配置
- 数据源配置(DataSource)
- 全局配置(GlobalConfig)
- 包配置(PackageConfig)
- 策略配置(StrategyConfig)
- 模板引擎配置(TemplateEngine)
- 代码生成器测试样例
- 步骤:
- 1、创建测试数据库 mp
- 2、创建一个 Spring-Boot 项目
- 3、在 pom.xml 中导入相关依赖
- 4、编写一个mian方法,加上框架
- 5、进行数据源配置
- 6、进行全局配置
- 7、进行 包配置
- 8、策略配置
- 9、模板引擎配置
- 10、执行
- 执行效果演示:
- 附1:快速生成样例代码
- 附2:交互式生成样例代码
MyBatis-Plus 官方文档:https://mp.baomidou.com/guide/generator-new.html
这是官网上的文档,从官方文档中给快速生成代码中,可以看出代码生成器的配置结构为:
//1、配置数据源FastAutoGenerator.create("url", "username", "password")//2、全局配置.globalConfig(...)//3、包配置.packageConfig(...)//4、策略配置.strategyConfig(...)//5、模板引擎配置.templateEngine(...)//6、执行.execute();
我们只需要通过填空的方式去配置数据源(DataSource),全局配置(GlobalConfig),包配置(PackageConfig),策略配置(StrategyConfig)和模板引擎配置(TemplateEngine)即可。
官方文档上也给出了对于每一个配置我们可以进行什么操作。
配置
数据源配置(DataSource)
属性 | 说明 | 示例 |
---|---|---|
url | jdbc路径 | jdbc:mysql://127.0.0.1:3306/mybatis-plus |
username | 数据库账号 | root |
password | 数据库密码 | 123456 |
dbQuery(IDbQuery) | 数据库查询 | new MySqlQuery() |
schema(String) | 数据库schema(部分数据库适用) | mybatis-plus |
typeConvert(ITypeConvert) | 数据库类型转换器 | new MySqlTypeConvert() |
keyWordsHandler(IKeyWordsHandler) | 数据库关键字处理器 | new MySqlKeyWordsHandler() |
全局配置(GlobalConfig)
方法 | 说明 | 示例 |
---|---|---|
fileOverride | 覆盖已生成文件 | 默认值:false |
disableOpenDir | 禁止打开输出目录 | 默认值:true |
outputDir(String) | 指定输出目录 | /opt/baomidou/ 默认值: windows:D:// linux or mac : /tmp |
author(String) | 作者名 | baomidou 默认值:作者 |
enableKotlin | 开启 kotlin 模式 | 默认值:false |
enableSwagger | 开启 swagger 模式 | 默认值:false |
dateType(DateType) | 时间策略 | DateType.ONLY_DATE=Date 默认值: DateType.TIME_PACK=LocalDateTime |
commentDate(String) | 注释日期 | 默认值: yyyy-MM-dd |
包配置(PackageConfig)
方法 | 说明 | 示例 |
---|---|---|
parent(String) | 父包名 | 默认值:com.baomidou |
moduleName(String) | 父包模块名 | 默认值:无 |
entity(String) | Entity 包名 | 默认值:entity |
service(String) | Service 包名 | 默认值:service |
serviceImpl(String) | Service Impl 包名 | 默认值:service.impl |
mapper(String) | Mapper 包名 | 默认值:mapper |
mapperXml(String) | Mapper XML 包名 | 默认值:mapper.xml |
controller(String) | Controller 包名 | 默认值:controller |
other(String) | 自定义文件包名 | 输出自定义文件时所用到的包名 |
pathInfo(Map<OutputFile, String>) | 路径配置信息 | Collections.singletonMap(OutputFile.mapperXml, “D://”) |
策略配置(StrategyConfig)
方法 | 说明 | 示例 |
---|---|---|
enableCapitalMode | 开启大写命名 | 默认值:false |
enableSkipView | 开启跳过视图 | 默认值:false |
disableSqlFilter | 禁用 sql 过滤 | 默认值:true,语法不能支持使用 sql 过滤表的话,可以考虑关闭此开关 |
enableSchema | 启用 schema | 默认值:false,多 schema 场景的时候打开 |
likeTable(LikeTable) | 模糊表匹配(sql 过滤) | likeTable 与 notLikeTable 只能配置一项 |
notLikeTable(LikeTable) | 模糊表排除(sql 过滤) | likeTable 与 notLikeTable 只能配置一项 |
addInclude(String…) | 增加表匹配(内存过滤) | include 与 exclude 只能配置一项 |
addExclude(String…) | 增加表排除匹配(内存过滤) | include 与 exclude 只能配置一项 |
addTablePrefix(String…) | 增加过滤表前缀 | |
addTableSuffix(String…) | 增加过滤表后缀 | |
addFieldPrefix(String…) | 增加过滤字段前缀 | |
addFieldSuffix(String…) | 增加过滤字段后缀 | |
entityBuilder | 实体策略配置 | |
controllerBuilder | controller 策略配置 | |
mapperBuilder | mapper 策略配置 | |
serviceBuilder | service 策略配置 |
模板引擎配置(TemplateEngine)
默认 Velocity ;可选模板引擎 Beetl 或 Freemarker。
模板引擎 | 代码 | |
---|---|---|
Velocity | 默认 | .templateEngine(new VelocityTemplateEngine()) |
Freemarker | 可选 | .templateEngine(new FreemarkerTemplateEngine()) |
Beetl | 可选 | .templateEngine(new BeetlTemplateEngine()) |
代码生成器测试样例
那么知道配置之后我们可以自己写一个操作一下。
步骤:
1、创建测试数据库 mp
CREATE DATABASE mp;USE `mp`;/*Table structure for table `student` */CREATE TABLE `student` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '学号',`name` varchar(50) DEFAULT NULL COMMENT '姓名',`score` double DEFAULT NULL COMMENT '成绩',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;/*Table structure for table `user` */CREATE TABLE `user` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户id',`username` varchar(50) NOT NULL COMMENT '用户名',`password` varchar(50) DEFAULT NULL COMMENT '密码',`create_time` date DEFAULT NULL COMMENT '创建时间',`modify_time` date DEFAULT NULL COMMENT '最后一次修改时间',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Field | Type | Comment |
---|---|---|
id | int | 用户id |
username | varchar(50) | 用户名 |
password | varchar(50) | 密码 |
create_time | date | 创建时间 |
modify_time | date | 最后一次修改时间 |
Field | Type | Comment |
---|---|---|
id | int | 学号 |
name | varchar(50) | 名字 |
score | double | 成绩 |
2、创建一个 Spring-Boot 项目
3、在 pom.xml 中导入相关依赖
<!--spring-boot-->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--SpringBootTest-->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope>
</dependency>
<!--swagger-->
<dependency><groupId>io.swagger</groupId><artifactId>swagger-annotations</artifactId><version>1.6.3</version>
</dependency>
<!--lombok-->
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId>
</dependency>
<!--mysql 驱动-->
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.26</version>
</dependency>
<!--mybatis-plus-->
<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.3.4</version>
</dependency>
<!--mybatis-plus-generator 生成器-->
<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>3.5.1</version>
</dependency>
<!--velocity-->
<dependency><groupId>org.apache.velocity</groupId><artifactId>velocity-engine-core</artifactId><version>2.3</version>
</dependency>
<!--freemarker-->
<dependency><groupId>org.freemarker</groupId><artifactId>freemarker</artifactId><version>2.3.31</version>
</dependency>
<!--beetl 模板-->
<dependency><groupId>com.ibeetl</groupId><artifactId>beetl</artifactId><version>3.8.1.RELEASE</version>
</dependency>
注:模板引擎配置,默认 Velocity 可选模板引擎 Beetl 或 Freemarker,实际使用中只导入使用模板对应的依赖即可,不用全部导入。
4、编写一个mian方法,加上框架
public static void main(String[] args) {//1、配置数据源FastAutoGenerator.create("url", "username", "password")//2、全局配置.globalConfig(...)//3、包配置.packageConfig(...)//4、策略配置.strategyConfig(...)//5、模板引擎配置.templateEngine(...)//6、执行.execute();
}
5、进行数据源配置
public static void main(String[] args) {//1、配置数据源FastAutoGenerator.create("jdbc:mysql://localhost:3306/mp", "root", "123456")//2、全局配置.globalConfig(...)//3、包配置.packageConfig(...)//4、策略配置.strategyConfig(...)//5、模板引擎配置.templateEngine(...)//6、执行.execute();
}
6、进行全局配置
注:3.5.1+版本开始支持 lambda 表达式
//2、全局配置.globalConfig(builder -> {builder.author("Jie") // 设置作者名.outputDir(System.getProperty("user.dir") + "/src/main/java") //设置输出路径.commentDate("yyyy-MM-dd hh:mm:ss") //注释日期.dateType(DateType.ONLY_DATE) //定义生成的实体类中日期的类型 TIME_PACK=LocalDateTime;ONLY_DATE=Date;.fileOverride() //覆盖之前的文件.enableSwagger() //开启 swagger 模式.disableOpenDir(); //禁止打开输出目录,默认打开});
7、进行 包配置
//3、包配置.packageConfig(builder -> {builder.parent("com") // 设置父包名.moduleName("mp") //设置模块包名.entity("entity") //pojo 实体类包名.service("service") //Service 包名.serviceImpl("serviceImpl") // ***ServiceImpl 包名.mapper("mapper") //Mapper 包名.xml("mapper") //Mapper XML 包名.controller("controller") //Controller 包名.other("utils") //自定义文件包名.pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir")+"/src/main/resources/mapper")) //配置 **Mapper.xml 路径信息:项目的 resources 目录的 Mapper 目录下});
8、策略配置
策略配置中需要对 Mapper,Service,Entity,Controller 类的生成策略进行单独的配置。
//4、策略配置.strategyConfig(builder -> {builder.addInclude("user", "student") // 设置需要生成的数据表名.addTablePrefix("t_", "c_") // 设置过滤表前缀//4.1、Mapper策略配置.mapperBuilder().superClass(BaseMapper.class) //设置父类.formatMapperFileName("%sMapper") //格式化 mapper 文件名称.enableMapperAnnotation() //开启 @Mapper 注解.formatXmlFileName("%sXml"); //格式化 Xml 文件名称//4.2、service 策略配置.serviceBuilder().formatServiceFileName("%sService") //格式化 service 接口文件名称,%s进行匹配表名,如 UserService.formatServiceImplFileName("%sServiceImpl") //格式化 service 实现类文件名称,%s进行匹配表名,如 UserServiceImpl//4.3、实体类策略配置.entityBuilder().enableLombok() //开启 Lombok.disableSerialVersionUID() //不实现 Serializable 接口,不生产 SerialVersionUID.logicDeleteColumnName("deleted") //逻辑删除字段名.naming(NamingStrategy.underline_to_camel) //数据库表映射到实体的命名策略:下划线转驼峰命.columnNaming(NamingStrategy.underline_to_camel) //数据库表字段映射到实体的命名策略:下划线转驼峰命.addTableFills(new Column("create_time", FieldFill.INSERT),new Column("modify_time", FieldFill.INSERT_UPDATE)) //添加表字段填充,"create_time"字段自动填充为插入时间,"modify_time"字段自动填充为插入修改时间.enableTableFieldAnnotation() // 开启生成实体时生成字段注解//4.4、Controller策略配置.controllerBuilder().formatFileName("%sController") //格式化 Controller 类文件名称,%s进行匹配表名,如 UserController.enableRestStyle() //开启生成 @RestController 控制器})
9、模板引擎配置
//5、模板引擎.templateEngine(new VelocityTemplateEngine()) //默认/*.templateEngine(new FreemarkerTemplateEngine()).templateEngine(new BeetlTemplateEngine())*/
10、执行
//6、执行.execute();
执行效果演示:
注:这里使用的是附2的交互式生成,两者源码几乎没有区别。
附1:快速生成样例代码
public class Generator {public static void main(String[] args) {//1、配置数据源FastAutoGenerator.create("jdbc:mysql://localhost:3306/yeb", "root", "123456")//2、全局配置.globalConfig(builder -> {builder.author("Jie") // 设置作者名.outputDir(System.getProperty("user.dir") + "/src/main/java") //设置输出路径:项目的 java 目录下.commentDate("yyyy-MM-dd hh:mm:ss") //注释日期.dateType(DateType.ONLY_DATE) //定义生成的实体类中日期的类型 TIME_PACK=LocalDateTime;ONLY_DATE=Date;.fileOverride() //覆盖之前的文件.enableSwagger() //开启 swagger 模式.disableOpenDir(); //禁止打开输出目录,默认打开})//3、包配置.packageConfig(builder -> {builder.parent("com") // 设置父包名.moduleName("mp") //设置模块包名.entity("pojo") //pojo 实体类包名.service("service") //Service 包名.serviceImpl("serviceImpl") // ***ServiceImpl 包名.mapper("mapper") //Mapper 包名.xml("mapper") //Mapper XML 包名.controller("controller") //Controller 包名.other("utils") //自定义文件包名.pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/resources/mapper")); //配置 mapper.xml 路径信息:项目的 resources 目录下})//4、策略配置.strategyConfig(builder -> {builder.addInclude("user", "student") // 设置需要生成的数据表名.addTablePrefix("t_", "c_") // 设置过滤表前缀//4.1、Mapper策略配置.mapperBuilder().superClass(BaseMapper.class) //设置父类.formatMapperFileName("%sMapper") //格式化 mapper 文件名称.enableMapperAnnotation() //开启 @Mapper 注解.formatXmlFileName("%sXml")//格式化 Xml 文件名称//4.2、service 策略配置.serviceBuilder().formatServiceFileName("%sService") //格式化 service 接口文件名称,%s进行匹配表名,如 UserService.formatServiceImplFileName("%sServiceImpl") //格式化 service 实现类文件名称,%s进行匹配表名,如 UserServiceImpl//4.3、实体类策略配置.entityBuilder().enableLombok() //开启 Lombok.disableSerialVersionUID() //不实现 Serializable 接口,不生产 SerialVersionUID.logicDeleteColumnName("deleted") //逻辑删除字段名.naming(NamingStrategy.underline_to_camel) //数据库表映射到实体的命名策略:下划线转驼峰命.columnNaming(NamingStrategy.underline_to_camel) //数据库表字段映射到实体的命名策略:下划线转驼峰命.addTableFills(new Column("create_time", FieldFill.INSERT),new Column("modify_time", FieldFill.INSERT_UPDATE)) //添加表字段填充,"create_time"字段自动填充为插入时间,"modify_time"字段自动填充为插入修改时间.enableTableFieldAnnotation() // 开启生成实体时生成字段注解//4.4、Controller策略配置.controllerBuilder().formatFileName("%sController") //格式化 Controller 类文件名称,%s进行匹配表名,如 UserController.enableRestStyle(); //开启生成 @RestController 控制器})//5、模板.templateEngine(new VelocityTemplateEngine())/*.templateEngine(new FreemarkerTemplateEngine()).templateEngine(new BeetlTemplateEngine())*///6、执行.execute();}
}
附2:交互式生成样例代码
public static void main(String[] args) {Scanner scan = new Scanner(System.in);System.out.println("=====================数据库配置=======================");System.out.println("请输入 URL");String url = scan.next();System.out.println("请输入 username");String username = scan.next();System.out.println("请输入 password");String password = scan.next();FastAutoGenerator.create(url, username, password)// 全局配置.globalConfig((scanner, builder) -> builder.author(scanner.apply("=====================全局配置=======================\n请输入作者名称?")).outputDir(System.getProperty("user.dir") + "/src/main/java").commentDate("yyyy-MM-dd hh:mm:ss").dateType(DateType.TIME_PACK).enableSwagger().fileOverride().enableSwagger().disableOpenDir())// 包配置.packageConfig((scanner, builder) -> builder.parent(scanner.apply("=====================包配置=======================\n请输入包名?")).moduleName(scanner.apply("请输入父包模块名?")).entity("entity").service("service").serviceImpl("serviceImpl").mapper("mapper").xml("mapper").other("utils").pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir")+"/src/main/resources/mapper")))// 策略配置.strategyConfig((scanner, builder) -> {builder.addInclude(getTables(scanner.apply("=====================策略配置=======================\n请输入表名,多个英文逗号分隔?所有输入 all"))).serviceBuilder().formatServiceFileName("%sService").formatServiceImplFileName("%sServiceImpl").entityBuilder() //实体类策略配置.enableLombok() //开启 Lombok.disableSerialVersionUID().logicDeleteColumnName("deleted") //逻辑删除字段.naming(NamingStrategy.underline_to_camel).columnNaming(NamingStrategy.underline_to_camel).addTableFills(new Column("create_time", FieldFill.INSERT), new Column("modify_time", FieldFill.INSERT_UPDATE)).enableTableFieldAnnotation() // 开启生成实体时生成字段注解.controllerBuilder().formatFileName("%sController").enableRestStyle().mapperBuilder().superClass(BaseMapper.class).formatMapperFileName("%sMapper").enableMapperAnnotation() //@mapper.formatXmlFileName("%sMapper");})/*模板引擎配置,默认 Velocity 可选模板引擎 Beetl 或 Freemarker.templateEngine(new BeetlTemplateEngine()).templateEngine(new FreemarkerTemplateEngine())*/.execute();
}// 处理 all 情况
protected static List<String> getTables(String tables) {return "all".equals(tables) ? Collections.emptyList() : Arrays.asList(tables.split(","));
}
相关文章:

MyBatis-Plus——代码生成器(3.5.1+版本)
文章目录配置数据源配置(DataSource)全局配置(GlobalConfig)包配置(PackageConfig)策略配置(StrategyConfig)模板引擎配置(TemplateEngine)代码生成器测试样例…...

宁盾上榜第五版《CCSIP 2022 中国网络安全行业全景册》
2月1日,国内网络安全行业媒体Freebuf咨询正式发布《CCSIP(China Cyber Security Panorama)2022 中国网络安全行业全景册》第五版。宁盾作为国产身份安全厂商入驻身份识别和访问管理(SSO、OTP、IDaaS)及边界访问控制&am…...

【Linux系统】第七篇:Linux调试器gdb的使用
文章目录一、gdb简介二、gdb的安装三、gdb使用3.1、release和debug版本3.2、gdb基本使用命令1、启动gdb2、调试命令3、显示代码(list)4、断点命令(breakpoint)5 、变量命令(variable)6、特殊调试命令7、调用…...
Shell 特殊变量及其含义
shell是我们在linux下编写自动执行程序的常见脚本工具,通常会涉及到以下几个特殊变量,它们分别是:$#、$*、$、$?、$$。 变量含义$0当前脚本的文件名。$n(n≥1)传递给脚本或函数的参数。n 是一个数字,表示…...
LeetCode 2396. 严格回文的数字
如果一个整数 n 在 b 进制下(b 为 2 到 n - 2 之间的所有整数)对应的字符串 全部 都是 回文的 ,那么我们称这个数 n 是 严格回文 的。 给你一个整数 n ,如果 n 是 严格回文 的,请返回 true ,否则返回 fals…...
【RocketMQ】源码详解:Broker启动流程
Broker启动 入口: org.apache.rocketmq.broker.BrokerStartup#main broker的启动主要分为两部分:1.创建brokerController 2.启动brokerController。与平时进行业务开发时不同的是,这里的BrokerController相当于Broker的一个中央控制器类&…...
vue事件
1. 事件传参 <button click"clickEvt($event, 22)">点我</button>2. 事件修饰符 prevent:阻止默认事件stop:阻止事件冒泡(加到子元素)once:事件只触发一次capture:使用事件的捕获模…...

研报精选230220
目录 【行业230220国信证券】银行业行业专题:经济复苏中的优质中小银行【行业230220国信证券】汽车行业周报(2023年第7周):吉利将发布新品牌“银河” ,2022年宇通纯电动客车获欧洲销量冠军【行业230220开源证券】商贸零…...
kubernetes sd configs配置详解
1.基于Kubernetes的服务发现 kubernetes_sd_config 这个是以角色(role)来定义收集的,Kubernetes SD配置允许从Kubernetes的RESTAPI中检索scrape目标,并始终与群集状态保持同步。 凡<role>必须是endpoints,service,pod&…...
Linux查看文件的命令
目录 1、tail 2、head 3、cat 4、more 5、sed 6、less Linux查看日志的命令有多种: tail、cat、tac、head、echo等,本文只介绍几种常用的方法。 1、tail 命令格式: tail[必要参数][选择参数][文件] -f 循环读取 -q 不显示处理信息 -v 显示详细的处理信…...

如何单独清除某个网页的缓存(reload)
有时候在自己服务器上调试的时候,刷新一直不更新,样式改了也看不到,就很烦 今天教你一个方法快速清除 F12 控制台情况下右击左上角的刷新 这三个分别代表: ①正常重新加载(Ctrl R): 正常重新加载 此方法,浏览器发送请求时会…...

魔兽世界经典怀旧服务器架设教程
准备工具:MySQL服务端服务器最重要的你需要会技术、要不然都瞎扯 给你东西你也看不懂。教程开始:安装MySQL并创建数据库安装MySQL社区版,并配置SQL服务器。安装SQLyog。利用其登录,创建realmd、characters、mangos、scriptdev2数据…...

Interview系列 - 05 Java|Iterator迭代器|集合继承体系|Set List Map接口特性|List实现类区别
文章目录01. 迭代器 Iterator 是什么?02. 迭代器 Iterator 有什么特点?03. 迭代器 Iterator 怎么使用?04. 如何边遍历边移除 Collection 中的元素?05. Iterator 和 ListIterator 有什么区别?06. 数组和集合的区别&…...
LeetCode 1769. 移动所有球到每个盒子所需的最小操作数
有 n 个盒子。给你一个长度为 n 的二进制字符串 boxes ,其中 boxes[i] 的值为 ‘0’ 表示第 i 个盒子是 空 的,而 boxes[i] 的值为 ‘1’ 表示盒子里有 一个 小球。 在一步操作中,你可以将 一个 小球从某个盒子移动到一个与之相邻的盒子中。…...
MKS SKIPR V1.0船长版(Voron 2.4 R2)配置简要笔记
第一次用MKS SKIPR V1.0,设置过程中,也不知道怎么回事,跟现有的资料有些出入。首先,基本的配置调试可以参考官方的使用说明。 MKS SKIPR V1.0 使用说明书 这个说明比较简单,很多深一点的东西没有提现,不过…...

90后,转行软件测试3年,从月入7000+到月入过万,整理出的这一万字经验分享。
周一发工资了,到手12857.65,美滋滋 今年是我毕业参加工作的第3年,工资终于来到5位数了。上一家公司月薪7000,实际拿到手就6450左右,感觉今年真的是元气满满啊,工资翻倍,良好的人生开端。 想起…...

Java之关于String字符串笔试面试重点
目录 一.关于字符串的常量池 1.关于字符串产生的三种方式 2.关于字符串的常量池 3.直接赋值法和new的方式产生对象的区别 二.关于intern方法 1.情况一(已经包含) 2.情况二(已经包含) 3.情况三(未包含) 4.情况四 三.关于字符串的不可变性 1.了解字符串的不可变性 2.Str…...

mdio协议
1. 简介 MDIO接口中有特定的术语定义总线上的各种设备,驱动MDIO总线的设备被定义为站管理实体(STA),而被MDC管理的目标设备称为可被MDIO管理的设备(MMD)。 STA初始化MDIO所有的通信,同时负责驱动…...
kubectl命令
kubectl命令是操作 Kubernetes 集群的最直接和最高效的途径。 1、kubectl自动补全 $ source <(kubectl completion bash) # setup autocomplete in bash, bash-completion package should be installed first. $ source <(kubectl completion zsh) # setup autocomple…...
题库-JAVASE01
文章目录1.JAVA开发环境2.JAVA变量3.JAVA基本类型4.运算符和表达式5.分支结构6.循环结构7.数组8.方法1.JAVA开发环境 (单选题)在Java中,以下描述错误的是( ) A…class是源文件 B…java是编译前的源文件 C…class是编译后的文件 D.Java程序需…...

【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...

Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...

【项目实战】通过多模态+LangGraph实现PPT生成助手
PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命
在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)
前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块,…...
《C++ 模板》
目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板,就像一个模具,里面可以将不同类型的材料做成一个形状,其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式:templa…...
Python 高效图像帧提取与视频编码:实战指南
Python 高效图像帧提取与视频编码:实战指南 在音视频处理领域,图像帧提取与视频编码是基础但极具挑战性的任务。Python 结合强大的第三方库(如 OpenCV、FFmpeg、PyAV),可以高效处理视频流,实现快速帧提取、压缩编码等关键功能。本文将深入介绍如何优化这些流程,提高处理…...

Qt的学习(二)
1. 创建Hello Word 两种方式,实现helloworld: 1.通过图形化的方式,在界面上创建出一个控件,显示helloworld 2.通过纯代码的方式,通过编写代码,在界面上创建控件, 显示hello world; …...
Cursor AI 账号纯净度维护与高效注册指南
Cursor AI 账号纯净度维护与高效注册指南:解决限制问题的实战方案 风车无限免费邮箱系统网页端使用说明|快速获取邮箱|cursor|windsurf|augment 问题背景 在成功解决 Cursor 环境配置问题后,许多开发者仍面临账号纯净度不足导致的限制问题。无论使用 16…...