使用MybatisPlus时注意点的记录

news2024/9/21 12:37:41

在 MyBatis-Plus 中,默认情况下,实体类的主键属性名必须为 "id",如果实体类主键属性名为 其他比如"nbid",则需要进行显式的用@FileId配置或者在.XML中配置。

在使用MybatisPlus时,如果主键名是id   实体类属性名也是id

可以用@TableId来指定各种主键生成算法

那么会自动匹配,默认用的雪花算法,也就是先生成id再插入

此时主键用Long或者String类型都是可以的或者说表字段的属性是varchar或者bigint也都是可以的

用id时,实体类除了指定@FileId(type=ASSIGN_UUID)以外(原因也很明显,UUID里有asd等等字母,无法转换成Long,除非数据表字段为varchar,但是自增字段属性不允许为varchar)  其实都可以用String,当然在AUTO(自增情况下)你的保证数据库表字段主键类型是bigint  这是由于Mysql自增策略决定的,

如果指定了@TbaleId

其实你用自增 就要保证数据表主键字段为int或bigint   实体类会自动转换 String  Integer  Long都可以

不是自增的话String  varchar   是不是看不明白,我自己都快晕了.....

#开启驼峰命名  mybatis3.0.7后自动默认开启驼峰
mybatis-plus.configuration.map-underscore-to-camel-case=true

因此上面配不配都无所谓

另外一点   因为自动开启了驼峰   因此  表字段比如说是h_name   实体类用hName   

如果实体类用hname的话会报错,除非用@TableFile("h_name")去指定字段

当数据表字段含有关键字的时候,比如说

 此时的查询语句  如果如下  肯定报错

表里的数据

此时正确的查询语句应该是

select id,h_name,`desc` from t_user   这个正确

select id,h_name,'desc' from t_user   这个是错误的     

在用Mybatis的时候      做法是

用${xxx}   让字段带上引号(记得是这样的,可能是搞错了,待写demo确认)    

先说在MybatisPlus的正确做法

使用MybatisPlus时,当实体类包含数据表中没有的字段时候  比如说

 这种时候,是会出错的,因为你的实体类已经和数据表关联,  当数据表没有此字段,而实体类有的时候,不做特殊处理会报错,原因,查询时候会select xxxxx   abc去查询,但是表字段没有肯定报错

或者insert更新等时候都会因为没有该字段报错

那么做法有    transient    或者@TableFiled(exist=false)

当然你可以选择比如@TableFiled(select=false),但是不保证有时候更新或者删除时候把该字段当设置属性或条件属性 (除非一些特殊需求,看实际情况)@TableFiled(exist=false)直接告诉他不存在

数据表数据  当条件是   is null  或者  is not null时候

 正确sql SELECT id,h_name,age,email,`desc` FROM t_user WHERE (`desc` is null)

 还是要注意   用''没有用且会返回错误数据        需要用``

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

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

相关文章

Django REST Framework(DRF)框架之视图类(视图基类、Mixin扩展类、子类视图)

DRF框架之视图类的使用视图类概述视图基类Mixin扩展类子类视图类视图基类APIViewGenericAPIViewMixin扩展类ListModelMixinCreateModelMixinRetrieveModelMixinUpdateModelMixinDestroyModelMixin子类视图ListAPIViewCreateAPIViewRetrieveAPIViewDestoryAPIViewUpdateAPIViewL…

联想集团ESG与社会价值论坛召开,首次发布《联想集团2022社会价值报告》

对企业而言,ESG不再是选择题,而是必答题。 联想集团是ESG的先行者、领军者。 2023年4月11日,“联想集团ESG与社会价值论坛暨《联想集团2022社会价值报告》发布会”在京召开,会议由中国社会责任百人论坛、联想集团联合主办&#xf…

【图像】协议:常见的图像格式协议对比

1. 背景 不知不觉已经大半年没有写博客了。换了工作之后突然变忙了许多,紧张的项目节点一个接一个,高优先级的事一件接一件,让人兴奋的同时也变得很多时候没有时间去复盘去反思去沉淀。 最近在整理产品的feature list,各种各样的…

Yum方式安装Nginx

前言:使用Nginx源码进行安装过程比较繁琐,需要提前下载安装GCC编译器、PCRE兼容正则表达式库、zlib压缩库和OpenSSL安全通信的软件库包,然后才能进行Nginx的安装。采用Yum最简单的安装方式能自动解决这些安装依赖,默认情况Centos7…

C++面试指南——类常用知识点概念总结

构造函数 构造函数可以抛出异常,可以重载,如果在实例化时在类名后面加个括号,只是创建了一个匿名的对象。构造不能是虚函数,因为此时虚函数表还没有初始化。new对象会调解构造函数。没有定义拷贝构造时,IDE会自动生成…

关于编译的重要概念总结

文章目录什么是GNU什么是GCC / Ggcc / g编译的四个阶段gcc和g的主要区别MinGW-w64C语言版本C 98C 11C 14C 17C 20Makefilecmake回想初学编程的时候,大部分人都是从C语言开始学起的,除了一些常见的语法和思想,一些基础知识常常被人们忽略&…

智能汽车进入3.0时代,双目立体视觉「打通」智驾与底盘

每一次软硬件技术更迭,都在重构智能化。 2016年7月,上汽集团与阿里巴巴合作开发的互联网汽车荣威RX5正式上市,这被视为中国乘用车市场首次规模化引入互联网生态,第一次在软件层面实现对传统燃油车的升级。几个月后,英特…

python机器学习数据建模与分析——数据预测与预测建模

文章目录前言一、预测建模1.1 预测建模涉及的方面:1.2 预测建模的几何理解1.3 预测模型参数估计的基本策略1.4 有监督学习算法与损失函数:1.5 参数解空间和搜索策略1.6 预测模型的评价1.6.1 模型误差的评价指标1.6.2 模型的图形化评价工具1.6.3 训练误差…

“绿菜单”2.0发布 数据中心液冷生态建设进入加速期

近年来,随着数字化社会对算力需求的不断增长,数据中心能耗与散热问题日益凸显。液冷作为更加高效、低能耗的制冷技术,逐渐成为了数据中心建设的热门选择。对此,产业上下游企业热情高涨,液冷产品与方案纷纷亮相&#xf…

【Java】数据类型与变量

一、java中的数据类型 Java中数据类型主要分为两类:基本数据类型和引用数据类型。 1.与c语言相同的数据类型 short,int,double,float均与c语言保持相同。 2.与c语言不同的数据类型 byte--字节类型 char--字符类型 java中,byte类型只占一个字节&#xff…

手写简易 Spring(二)

文章目录手写简易 Spring(二)1. 扩展 BeanFactory 接口2. 实现资源加载器,从 Spring.xml 解析和注册 Bean 对象1. 核心实现类 XmlBeanDefinitionReader3. 实现应用上下文,自动识别、资源加载、扩展机制1. 应用上下文2. 核心实现类…

虚幻图文笔记:Character Creator 4角色通过AutoSetup For Unreal Engine插件导入UE5.1的过程笔记

在UE5端安装AutoSetup For Unreal Engine插件 AutoSetup For Unreal Engine是Reallusion官方提供的免费插件,官方下载地址,下载到的是一个可执行文件,点击安装,记住安装的位置⬇ 看装完毕后会打开一个文件夹,这里就是对…

nginx线程池源码剖析

文章目录nginx线程池1. 问题2. 解决办法 nginx线程池3. 线程池实现模型4. 线程池实现核心组件5.源码实现测试代码main.c封装互斥锁&条件变量线程池实现nginx线程池 1. 问题 处理事件过程“阻塞”怎么办? 忙于漫长的 CPU 密集型处理 读取文件,但文…

HTTP vs HTTPS: 网络通信的加密之争、你真的知道它们的区别吗?

前言 欢迎来到今天的每日一题,每日一提。之前有聊到,TCP/IP协议四层模型。所以我们知道,那四层分别是:应用层、传输层、网络层和数据链路层。那么今天聊一聊应用层里面的一个小知识点,HTTP和HTTPS之间有什么区别&#…

亚马逊被人差评了怎么办?

第一种: 也是最简单的做法就是通过电话或者邮件联系留差评的买家,大致意思就是按照货值的2-3倍作为赔偿,能不能把差评给删了 赔偿一个普通产品2-3倍的价格比起找服务商删一个差评几百到一千不等可以说是绰绰有余了,碰到那种愿意…

AI 工具大全

文章目录ChatGPT 聊天绘画与图像PPTAdoble语音通话捷径指令视频音乐汇集 AI 工具,改变个人办公姿势。拥抱新时代的“通用人工智能”。利用 AI 工具来改造你学习和工作的流程。通过将 AI 嵌入生活和工作的方方面面,你不仅能够获得沉浸式的学习体验&#x…

线上问题:FeignClient循环依赖及源码分析

1 场景复现 依赖关系:虚线左侧为实现的类,虚线右侧为Spring的原生接口类或注解。 正常看,没有循环依赖,但是,实际运行时,异常信息:Is there an unresolvable circular reference? 明确告知&am…

Navidrome - 开源音乐服务器【打造属于自己的音乐播放器】「端口映射」随时随地想听就听

文章目录1. 前言2. Navidrome网站搭建2.1 Navidrome下载和安装2.1.1 安装并添加ffmpeg2.1.2下载并配置Navidrome2.1.3 添加Navidrome到系统服务2.2. Navidrome网页测试3. 本地网页发布3.1 cpolar的安装和注册3.2 Cpolar云端设置3.3 Cpolar本地设置4. 公网访问测试5. 结语1. 前言…

十二、市场活动:修改

功能需求 ①、用户在市场活动主页面,选择要修改的市场活动,点击"修改"按钮,弹出修改市场活动的模态窗口; ②、用户在修改市场活动的模态窗口填写表单,点击"更新"按钮,完成修改市场活动的功能. ③、 *每次能且只能修改一条市场活动 ④、*所有者 动态的…

电脑组装教程分享!

案例:如何自己组装电脑? 【看到身边的小伙伴组装一台自己的电脑,我也想试试。但是我对电脑并不是很熟悉,不太了解具体的电脑组装步骤,求一份详细的教程!】 电脑已经成为我们日常生活中不可或缺的一部分&a…