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

springboot中mybatisplus注意事项

使用代码生成工具CodeGenerator

需要修改的内容

  • dsc.setUsername(“root”); mysql账号
  • dsc.setPassword(“root”); mysql密码
  • strategy.setInclude(“crm_edu”); 表名
  • pc.setModuleName(“eduservice”); //模块名
package com.test.demo;import com.baomidou.mybatisplus.annotation.DbType;
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.rules.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import org.junit.Test;/*** @author* @cere2024/5/11*/
public class CodeGenerator {@Testpublic void run() {// 1、创建代码生成器AutoGenerator mpg = new AutoGenerator();// 2、全局配置GlobalConfig gc = new GlobalConfig();String projectPath = System.getProperty("user.dir");gc.setOutputDir(projectPath + "/src/main/java");gc.setAuthor("cere");gc.setOpen(false); //生成后是否打开资源管理器gc.setFileOverride(false); //重新生成时文件是否覆盖gc.setServiceName("%sService");	//去掉Service接口的首字母Igc.setIdType(IdType.ID_WORKER_STR); //主键策略gc.setDateType(DateType.ONLY_DATE);//定义生成的实体类中日期类型gc.setSwagger2(true);//开启Swagger2模式mpg.setGlobalConfig(gc);// 3、数据源配置DataSourceConfig dsc = new DataSourceConfig();dsc.setUrl("jdbc:mysql://localhost:3306/book?serverTimezone=GMT%2B8");dsc.setDriverName("com.mysql.cj.jdbc.Driver");dsc.setUsername("root");dsc.setPassword("root");dsc.setDbType(DbType.MYSQL);mpg.setDataSource(dsc);// 4、包配置PackageConfig pc = new PackageConfig();pc.setModuleName("eduservice"); //模块名pc.setParent("com.test");pc.setController("controller");pc.setEntity("entity");pc.setService("service");pc.setMapper("mapper");mpg.setPackageInfo(pc);// 5、策略配置StrategyConfig strategy = new StrategyConfig();strategy.setInclude("crm_edu"); // 如果是多个可以逗号分隔strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略strategy.setTablePrefix(pc.getModuleName() + "_"); //生成实体时去掉表前缀strategy.setColumnNaming(NamingStrategy.underline_to_camel);//数据库表字段映射到实体的命名策略strategy.setEntityLombokModel(true); // lombok 模型 @Accessors(chain = true) setter链式操作strategy.setRestControllerStyle(true); //restful api风格控制器strategy.setControllerMappingHyphenStyle(true); //url中驼峰转连字符mpg.setStrategy(strategy);// 6、执行mpg.execute();}
}

在这里插入图片描述

代码跑起来就看见上面的代码。

坑一xml的位置

如果进行nacos或者打包的时候会找不到mapper,
不得不让打包时候java目录*.xml文件也进行打包
在父亲Pom中中指定

    <!-- 项目打包时会将java目录中的*.xml文件也进行打包 --><build><resources><resource><directory>src/main/java</directory><includes><include>**/*.xml</include></includes><filtering>false</filtering></resource></resources><!-- 构建过程中所需要用到的插件 --><plugins><!-- 这个插件将 SpringBoot 应用打包成一个可执行的 jar 包 --><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>

在配置文件中

mybatis-plus.mapper-locations=classpath:com/test/eduservice/mapper/xml/*.xml
这也打包启动就没任何问题了。

万万没想最后再进行批量打包的之后,项目启动了,但是找不到各种错
在这里插入图片描述

解决方案

将生成的xml全部放下来
在这里插入图片描述
修改配置文件

#配置mapper xml文件的路径
mybatis-plus.mapper-locations=classpath:/mapper/xml/*.xml

整个流程

在这里插入图片描述

相关文章:

springboot中mybatisplus注意事项

使用代码生成工具CodeGenerator 需要修改的内容 dsc.setUsername(“root”); mysql账号dsc.setPassword(“root”); mysql密码strategy.setInclude(“crm_edu”); 表名pc.setModuleName(“eduservice”); //模块名 package com.test.demo;import com.baomidou.mybatisplus.a…...

Android Ant编译环境配置(Win)

1、 载ant包: 2、设置环境变量&#xff1a; 3、检查是否设置成功及版本 4、执行命令&#xff1a; android update project -p . -n “projectname”&#xff08;例如&#xff1a;android update project --target 1 -p . -n “Couplet”&#xff09;(只输入红色部分也是可以的…...

条件变量解决同步问题之打印金鱼

说明 本代码为jyy老师上课演示条件变量解决同步问题示例(本人只做记录与分享) 本人未使用老师封装的POSIX线程库, 直接在单文件中调试并注释 问题描述 有三类线程 T1 若干: 死循环打印< T2 若干: 死循环打印> T3 若干: 死循环打印_ 任务: 对线程同步&#xff0c;使得屏幕…...

10分钟了解Golang泛型

泛型是Golang在1.18版本引入的强大工具&#xff0c;能够帮助我们在合适的场合实现简洁、可读、可维护的代码。原文: Go Generics: Everything You Need To Know 导言 可能有人会觉得Go泛型很难&#xff0c;因此想要借鉴其他语言&#xff08;比如Java、NodeJS&#xff09;的泛型…...

鸿蒙内核源码分析(Shell解析篇) | 应用窥视内核的窗口

系列篇从内核视角用一句话概括shell的底层实现为&#xff1a;两个任务&#xff0c;三个阶段。其本质是独立进程&#xff0c;因而划到进程管理模块。每次创建shell进程都会再创建两个任务。 客户端任务(ShellEntry)&#xff1a; 负责接受来自终端(控制台)敲入的一个个字符&…...

TypeScript在前端项目的渐进式采用策略

渐进式采用 TypeScript 在前端项目中的策略通常包括: 引入TypeScript 如果我们有一个简单的JavaScript模块utils.js&#xff0c;它包含一个函数用于计算两数之和&#xff1a; // utils.js export function add(a, b) {return a b; }首先&#xff0c;我们将文件扩展名改为.t…...

C++容器常用集合(附传送门)

C常用的容器&#xff1a; string容器 C容器——string-CSDN博客 储存字符串的 vector容器 C容器——vector-CSDN博客 向量是动态数组&#xff0c;可以自动扩展以容纳更多元素。 插入和删除元素的时间复杂度取决于操作的位置 tuple容器&#xff08;元组&#xff09; C容器…...

基于springboot的校园资料分享平台源码数据库

基于springboot的校园资料分享平台源码数据库 随着信息互联网购物的飞速发展&#xff0c;国内放开了自媒体的政策&#xff0c;一般企业都开始开发属于自己内容分发平台的网站。本文介绍了校园资料分享平台的开发全过程。通过分析企业对于校园资料分享平台的需求&#xff0c;创…...

卷积神经网络(CNN)

大家好&#xff0c;这里是七七&#xff0c;今天来更新关于CNN相关的内容同了。本文是针对CNN原理的说明&#xff0c;但对于小白不是非常友好&#xff0c;建议先掌握神经网络相应知识再进行阅读哦。 一、卷积与互相关 卷积 卷积运算是对两个函数进行的一种数学运算&#xff0c…...

Linux入门攻坚——22、通信安全基础知识及openssl、CA证书

Linux系统常用的加解密工具&#xff1a;OpenSSL&#xff0c;gpg&#xff08;是pgp的实现&#xff09; 加密算法和协议&#xff1a; 对称加密&#xff1a;加解密使用同一个秘钥&#xff1b; DES&#xff1a;Data Encryption Standard&#xff0c;数据加密标准&…...

无障碍Web开发:遵循WCAG标准构建包容性用户体验

无障碍Web开发旨在确保所有用户&#xff0c;无论其身体条件或能力如何&#xff0c;都能轻松、有效地访问和使用Web内容。遵循Web Content Accessibility Guidelines (WCAG) 标准是实现这一目标的关键。以下是一些基于WCAG标准的无障碍Web开发实践&#xff0c;以构建更具包容性的…...

Isaac Sim 3(学习笔记5.8)

Isaac Sim 利用深度学习获取mask掩码图 参考内容 Kubernetes官网 在 Linux 系统中安装并设置 kubectl | Kubernetes准备开始 kubectl 版本和集群版本之间的差异必须在一个小版本号内。 例如&#xff1a;v1.30 版本的客户端能与 v1.29、 v1.30 和 v1.31 版本的控制面通信。 用…...

对象定义成final类型还能改变吗

如果一个Java对象被定义为final类型&#xff0c;那么它的引用不能被改变&#xff0c;但是对象本身的状态仍然可以被修改。这意味着你可以改变final对象的属性&#xff0c;但是不能将其引用指向另一个对象。 例如&#xff0c;下面的代码中&#xff0c;虽然person对象被声明为fi…...

Vue Router 路由hash和history模式

文章目录 hash和history模式区别Hash 模式History 模式 在 Vue 中&#xff0c;路由的两种主要模式是 hash 和 history&#xff0c;默认的路由模式是hash模式。。这两种模式决定了 URL 的外观以及浏览器如何处理 URL 的变化。 hash和history模式区别 特性Hash 模式History 模…...

【xrframe】优化ar相机中加载模型效果

方法一&#xff1a;定义渲染width和height //组件生命周期&#xff1a;在视图层布局完成后执行ready() {const info wx.getSystemInfoSync();//在小程序中同步获取系统信息const width info.windowWidth;//获取屏幕的宽度&#xff08;单位为物理像素&#xff09;const heigh…...

解决 SyntaxError: Unexpected token ‘.‘ 报错问题

这个报错一般是编译问题&#xff0c;浏览器的版本过低没通过代码 解决办法&#xff1a; 在package.json文件中加上这个 "browserslist": ["> 1%","last 2 versions","not dead","not ie < 6","Android > 4&…...

谷歌插件V3知识点

1.background.js与content.js与popup.js对比: background.js 生命周期:一开始就执行&#xff0c;最早执行且一直执行&#xff1b; 作用&#xff1a;放置全局的、需要一直运行的代码&#xff0c;权限非常高几乎调用所有Chrome api,还可以发起跨域请求&#xff1b; content.js 生…...

webrtc windows 编译,以及peerconnection_client

webrtc windows环境编译&#xff0c;主要参考webrtc官方文档&#xff0c;自备梯子 depot tools 安装 Install depot_tools 因为我用的是windows&#xff0c;这里下载bundle 的安装包&#xff0c;然后直接解压&#xff0c;最后设置到环境变量PATH。 执行gn等命令不报错&…...

geotrust企业通配符证书2990

随着时代的变化&#xff0c;人们获取信息的方式由报纸、书籍变为手机、电脑&#xff0c;因此很多企事业单位用户开始在互联网中创建网站来进行宣传&#xff0c;吸引客户。为了维护网站安全环境&#xff0c;保护客户数据&#xff0c;企事业单位也开始使用SSL数字证书&#xff0c…...

网络安全科普:保护你的数字生活

# 网络安全科普&#xff1a;保护你的数字生活 ## 引言 在数字化时代&#xff0c;网络安全已成为每个人都必须面对的问题。从个人隐私保护到金融交易安全&#xff0c;网络的安全性直接关系到我们的日常生活。因此&#xff0c;普及网络安全知识&#xff0c;提高公众的网络安全意…...

【QT】Layout布局间隙优化全攻略(参数调整与实战技巧)

1. 为什么你的QT界面总有"迷之缝隙"&#xff1f; 每次用QT做界面开发时&#xff0c;最让我抓狂的就是那些莫名其妙出现的空白间隙。明明已经按照设计稿精确设置了控件尺寸&#xff0c;但运行起来总会出现几个像素的偏差。后来我发现&#xff0c;这些间隙主要来自三个…...

如何突破数据标注瓶颈?Label Studio全攻略:从多模态标注到AI协作

如何突破数据标注瓶颈&#xff1f;Label Studio全攻略&#xff1a;从多模态标注到AI协作 【免费下载链接】label-studio Label Studio is a multi-type data labeling and annotation tool with standardized output format 项目地址: https://gitcode.com/GitHub_Trending/l…...

ABYSSAL VISION(Flux.1-Dev)风格化研究:模拟Typora等工具的极简文档配图

ABYSSAL VISION&#xff08;Flux.1-Dev&#xff09;风格化研究&#xff1a;模拟Typora等工具的极简文档配图 不知道你有没有过这样的体验&#xff1a;写技术文档或者博客的时候&#xff0c;文字部分洋洋洒洒&#xff0c;逻辑清晰&#xff0c;但一到需要配图说明的地方就卡壳了…...

路径规划算法技术选型与实战指南:从理论到工程落地

路径规划算法技术选型与实战指南&#xff1a;从理论到工程落地 【免费下载链接】PathPlanning Common used path planning algorithms with animations. 项目地址: https://gitcode.com/gh_mirrors/pa/PathPlanning 当仓库机器人在密集货架间灵活避障&#xff0c;当无人…...

当NB-IoT遇上同步轨道卫星:GEO场景下的定时关系增强全指南(基于3GPP Release 17最新规范)

GEO卫星场景下NB-IoT定时关系增强技术解析 1. GEO卫星通信与NB-IoT的技术融合挑战 地球静止轨道&#xff08;GEO&#xff09;卫星通信与窄带物联网&#xff08;NB-IoT&#xff09;技术的结合&#xff0c;为全球物联网覆盖提供了革命性解决方案。GEO卫星位于地球赤道上空35,786公…...

霜儿-汉服-造相Z-Turbo实战体验:输入一句话,秒获专属汉服少女AI写真

霜儿-汉服-造相Z-Turbo实战体验&#xff1a;输入一句话&#xff0c;秒获专属汉服少女AI写真 1. 惊艳效果展示&#xff1a;从文字到古风美图的魔法 想象一下&#xff0c;你只需要输入"霜儿&#xff0c;古风汉服少女&#xff0c;月白霜花刺绣汉服&#xff0c;江南庭院&quo…...

GME-Qwen2-VL-2B效果实测:抽象文字如何匹配具体图片?

GME-Qwen2-VL-2B效果实测&#xff1a;抽象文字如何匹配具体图片&#xff1f; 1. 多模态搜索的突破性体验 想象一下&#xff0c;你脑海中浮现出一句富有哲理的句子&#xff1a;"人生不是裁决书"&#xff0c;却想找一张能表达这种意境的图片。传统搜索引擎会怎么做&a…...

节能模式:OpenClaw+nanobot的间歇性任务调度技巧

节能模式&#xff1a;OpenClawnanobot的间歇性任务调度技巧 1. 为什么需要节能模式 去年夏天&#xff0c;我的电费账单突然飙升。排查后发现&#xff0c;那台24小时运行OpenClaw的工作站竟然是耗电大户——它持续调用着本地部署的Qwen大模型&#xff0c;GPU风扇昼夜不停地呼啸…...

【Frida Android】实战篇:Frida-Trace 进阶追踪——JNI 函数参数捕获与修改

1. 为什么需要捕获JNI函数参数&#xff1f; 在Android安全分析和逆向工程中&#xff0c;JNI函数往往是关键突破口。很多应用会把核心逻辑放在native层实现&#xff0c;比如加密算法、授权验证、敏感数据处理等。单纯Hook Java层方法可能无法触及这些关键逻辑&#xff0c;这时候…...

【AI工程化硬核考点】:FastAPI 2.0 + async/await + StreamingResponse三重协程调度机制精讲

第一章&#xff1a;FastAPI 2.0 异步 AI 流式响应 面试题汇总FastAPI 2.0 原生强化了对异步流式响应&#xff08;StreamingResponse&#xff09;的支持&#xff0c;尤其适用于大语言模型&#xff08;LLM&#xff09;推理、实时日志推送、AI 生成内容分块返回等场景。面试官常聚…...