关于Mybatis框架操作时注意的细节,常见的错误!(博主亲生体会的细节!)

目录

1.在对DB进行CRUD时,除了查,其余的操作都要进行事务的提交否则不成功。

2.用sqlSession原生方法时,第一个参数方法名,是xml文件中定义的id名,底层找的是你这个接口所定义的方法名。

3.以包为单位引入映射文件  1、mapper接口所在的包要和映射文件所在的包一致   2、mapper接口要和映射文件的名字一致(当然用注解或者将xml与接口放在一起也可以)

4.当要查找整个表信息时,必须指定返回类型,并且返回类型是集合中元素的类型 

5.使用xml或者注解方式写实体方法时注意映射文件的区别(resouces下方配置文件,java下放接口以及pojo类) 。

6.在插入一条记录时,可以使用@Operaton操作返回自增长的主键

7.当要为一个包下所有的类取别名typealiases时,直接引入包,且别名的类型默认以小写形式,但实际是不区分大小写

8.当方法中传入多个参数时用@Param来保证方法参数能被SQL的占位符正确识别(也可以通过传入对象解决)

9. 当表中的字段名和类中的属性名不一致时用resultMap进行映射解决

10.在进行模糊查询时需要用"%${}%"进行查询

 11.进行查询select时必须有返回类型,要不然会报PersistenceException错误

 12.在使用动态SQL中if语句时test中直接写属性名不要写#{age}否则会报错

 13.在使用标签的时候,会自动将多余的and删除(提醒大家一下,目前还没出过错)

14. 在查找数据返回对象的集合时,在返回类型中应该写返回集合中元素的类型,否则会报PersistenceException

15.如果始终报错无法找到你的xml配置文件,不论重构了多少次都不行,请实现如下操作

16. 使用动态SQL标签时,set元素内的内容不能全部为空,否则会报sql语法错误

17. 在动态SQL语句运用中 <号不能运用否则会报错 应该用< 

 18. 关联映射一对多,在进行嵌套查询时collection中记得要表明column属性(注意和嵌套结果的区别!)


1.在对DB进行CRUD时,除了查,其余的操作都要进行事务的提交否则不成功。


2.用sqlSession原生方法时,第一个参数方法名,是xml文件中定义的id名,底层找的是你这个接口所定义的方法名。


3.以包为单位引入映射文件  1、mapper接口所在的包要和映射文件所在的包一致   2、mapper接口要和映射文件的名字一致(当然用注解或者将xml与接口放在一起也可以)


4.当要查找整个表信息时,必须指定返回类型,并且返回类型是集合中元素的类型 


5.使用xml或者注解方式写实体方法时注意映射文件的区别(resouces下方配置文件,java下放接口以及pojo类) 。


6.在插入一条记录时,可以使用@Operaton操作返回自增长的主键


7.当要为一个包下所有的类取别名typealiases时,直接引入包,且别名的类型默认以小写形式,但实际是不区分大小写


8.当方法中传入多个参数时用@Param来保证方法参数能被SQL的占位符正确识别(也可以通过传入对象解决)

 要不然可能会报错


9. 当表中的字段名和类中的属性名不一致时用resultMap进行映射解决

 为什么不一致会报错呢?因为在查询记录时,返回的是一个pojo对象,底层会自动的根据表的字段名和类中的属性名进行匹配,并创建pojo对象进行返回!!!!


10.在进行模糊查询时需要用"%${}%"进行查询

 否则会报PersistencetExeception


 11.进行查询select时必须有返回类型,要不然会报PersistenceException错误


 12.在使用动态SQL中if语句时test中直接写属性名不要写#{age}否则会报错

 会报这种格式错误


 13.在使用<where>标签的时候,会自动将多余的and删除(提醒大家一下,目前还没出过错)

14. 在查找数据返回对象的集合时,在返回类型中应该写返回集合中元素的类型,否则会报PersistenceException


15.如果始终报错无法找到你的xml配置文件,不论重构了多少次都不行,请实现如下操作

   <!--在build中配置resources,来防止我们资源导出失败的问题1. 不同的idea/maven 可能提示的错误不一样2. 不变应万变,少什么文件,就增加相应配置即可3. 含义是将 src/main/java目录和子目录 和 src/main/resources目录和子目录的资源文件 xml 和 properties在build项目时,导出到对应的target目录下--><build><resources><resource><directory>src/main/java</directory><includes><include>**/*.xml</include></includes></resource><resource><directory>src/main/resources</directory><includes><include>**/*.xml</include><include>**/*.properties</include></includes></resource></resources></build>

16. 使用动态SQL标签<set>时,set元素内的内容不能全部为空,否则会报sql语法错误


17. 在动态SQL语句运用中 <号不能运用否则会报错 应该用&lt; 


 18. 关联映射一对多,在进行嵌套查询时collection中记得要表明column属性(注意和嵌套结果的区别!)

<collection property="xxx" column = "id" oftype= "monster" select="com.sn.mapper.MonsterMapper.selectID">

 

作者现在用到的mybatis的东西较少,但这些都是初学时容易犯下的错误!后续用到发现错误会实时更新的! 加油 ! 赚八万!

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

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

相关文章

Vue项目开发注意事项

事项一&#xff1a;项目代码放在本地怎么运行起来 1、首先确定项目对应的node和npm版本 node下载地址 Index of /dist/https://nodejs.org/dist/ node 与 npm版本对应关系 Node.js — Node.js Releases 2、node卸载的时候&#xff0c;会自动把对应的npm卸载掉 情况1&…

无环SLAM系统集成后端回环检测模块(loop):SC-A-LOAM以及FAST_LIO_SLAM

最近在研究SLAM目标检测相关知识&#xff0c;看到一篇论文&#xff0c;集成了SC-A-LOAM作为后端回环检测模块&#xff0c;在学习了论文相关内容后决定看一下代码知识&#xff0c;随后将其移植&#xff0c;学习过程中发现我找的论文已经集成了回环检测模块&#xff0c;但是我的另…

【重学 MySQL】四十九、阿里 MySQL 命名规范及 MySQL8 DDL 的原子化

【重学 MySQL】四十九、阿里 MySQL 命名规范及 MySQL8 DDL 的原子化 阿里 MySQL 命名规范MySQL8 DDL的原子化 阿里 MySQL 命名规范 【强制】表名、字段名必须使用小写字母或数字&#xff0c;禁止出现数字开头&#xff0c;禁止两个下划线中间只出现数字。数据库字段名的修改代价…

Java 计算器项目

更多有趣请关注公众号 计算器项目 代码仓库&#xff1a;https://gitee.com/wengxiulin/vs_code 项目图片 项目简介 这是一个用 Java 编写的简单计算器应用程序&#xff0c;具有基本的数学运算功能。该计算器支持加、减、乘、除等运算&#xff0c;并提供用户友好的图形界面…

【STM32】TCP/IP通信协议(2)--LwIP内存管理

五、LWIP内存管理 1.什么是内存管理&#xff1f; &#xff08;1&#xff09;内存管理&#xff0c;是指软件运行时对计算机内存资源的分配的使用的技术&#xff0c;其主要目的是如何高效、快速的分配&#xff0c;并且在适当的时候释放和回收内存资源&#xff08;就比如C语言当…

使用微服务Spring Cloud集成Kafka实现异步通信(消费者)

1、本文架构 本文目标是使用微服务Spring Cloud集成Kafka实现异步通信。其中Kafka Server部署在Ubuntu虚拟机上&#xff0c;微服务部署在Windows 11系统上&#xff0c;Kafka Producer微服务和Kafka Consumer微服务分别注册到Eureka注册中心。Kafka Producer和Kafka Consumer之…

Mybatis框架梳理

Mybatis框架梳理 前言1.ORM2.模块划分2.1 ORM的实现2.2 SQL的映射2.3 插件机制2.4 缓存机制2.5 其他 3. 愿景 前言 如果让我聊一聊mybatis&#xff0c;我该怎么说呢&#xff1f;开发中时时刻刻都在用它&#xff0c;此时此刻&#xff0c;脑海中却只浮现ORM框架这几个字&#xff…

[每周一更]-(第117期):硬盘分区表类型:MBR和GPT区别

文章目录 1. **支持的磁盘容量**2. **分区数量**3. **引导方式**4. **冗余和数据恢复**5. **兼容性**6. **安全性**7. **操作系统支持**8. 对比 国庆假期前补一篇 在一次扫描机械硬盘故障的问题&#xff0c;发现我本机SSD和机械硬盘的分类型不一样&#xff0c;分别是GPT和MBR&a…

Vue3轻松实现前端打印功能

文章目录 1.前言2.安装配置2.1 下载安装2.2 main.js 全局配置3.综合案例3.1 设置打印区域3.2 绑定打印事件3.3 完整代码4.避坑4.1 打印表格无边框4.2 单选框复选框打印不选中4.3 去除页脚页眉4.4 打印內容不自动换行1.前言 vue3 前端打印功能主要通过插件来实现。 市面上常用的…

C语言 | Leetcode C语言题解之第450题删除二叉搜索树中的节点

题目&#xff1a; 题解&#xff1a; struct TreeNode* deleteNode(struct TreeNode* root, int key){struct TreeNode *cur root, *curParent NULL;while (cur && cur->val ! key) {curParent cur;if (cur->val > key) {cur cur->left;} else {cur c…

telnet发送邮件教程:安全配置与操作指南?

telnet发送邮件的详细步骤&#xff1f;怎么用telnet命令发邮件&#xff1f; 尽管现代邮件客户端和服务器提供了丰富的功能和安全性保障&#xff0c;但在某些特定场景下&#xff0c;了解如何使用telnet发送邮件仍然是一项有价值的技能。AokSend将详细介绍如何安全配置和操作tel…

github/git密钥配置与使用

零、前言 因为要在ubuntu上做点东西&#xff0c;发现git clone 的时候必须输账户密码&#xff0c;后来发现密码是token&#xff0c;但是token一大串太烦了&#xff0c;忙了一天发现可以通过配置 公钥 来 替代 http 的 部署方式。 一、生成 ssh 密钥对 我们先测试下能不能 连接…

C语言复习概要(一)

本文 C语言入门详解&#xff1a;从基础概念到分支与循环1. C语言常见概念1.1 程序的基本结构1.2 变量作用域和存储类1.3 输入输出1.4 编译与运行 2. C语言中的数据类型和变量2.1 基本数据类型2.2 变量的声明与初始化2.3 常量与枚举 3. C语言的分支结构3.1 if语句3.2 if-else语句…

0108 Spring Boot启动过程

Spring Boot 的启动过程可以分为以下几个关键步骤&#xff1a; 1. SpringApplication 初始化 Spring Boot 应用的启动是通过调用 SpringApplication.run() 方法完成的。在这个过程中&#xff0c;Spring Boot 会通过 SpringApplication 类对应用进行初始化&#xff0c;包括设置…

国庆节快乐前端(HTML+CSS+JavaScript+BootStrap.min.css)

一、效果展示 二、制作缘由 最近&#xff0c;到了国庆节&#xff0c;自己呆在学校当守校人&#xff0c;太无聊了&#xff0c;顺便做一个小demo帮祖国目前庆生&#xff01;&#xff01;&#xff01; 三、项目目录结构 四、准备工作 (1)新建好对应的文件目录 为了方便&#xff…

Linux驱动开发(速记版)--设备树插件

第六十八章 设备树插件介绍 Linux 4.4之后引入了动态设备树&#xff0c;其中的设备树插件&#xff08;Device Tree Overlay&#xff09;是一种扩展机制&#xff0c;允许在运行时动态添加、修改或删除设备节点和属性。 设备树插件机制通过DTS&#xff08;设备树源文件&#xff0…

挖矿病毒记录 WinRing0x64.sys

之前下载过福晰pdf编辑器&#xff0c;使用正常。 某天发现机器启动后&#xff0c;过个几分钟(具体为5min)会自动运行几个 cmd 脚本(一闪而过)&#xff0c;但是打开任务管理器没有发现异常程序&#xff08;后面发现病毒程序伪装成System系统程序&#xff0c;见下图&#xff09;…

SpringCloud Config配置中心 SpringCloud Bus消息总线

一、SpringCloud Config 使用git储存配置信息 1&#xff09;什么是 SpringCloud Config项目实现的目标是将配置文件从本地项目中抽出来放到git仓库中&#xff0c;项目启动时自动从git仓库中取配置文件。 但是本地项目不直接和git仓库通信&#xff0c;而是通过配置服务器中转。…

python如何查询函数

1、通用的帮助函数help() 使用help()函数来查看函数的帮助信息。 如&#xff1a; import requests help(requests) 会有类似如下输出&#xff1a; 2、查询函数信息 ★查看模块下的所有函数&#xff1a; dir(module_name) #module_name是要查询的函数名 如&#xff1a; i…

vmvare虚拟机centos 忘记超级管理员密码怎么办?

vmvare虚拟机centos 忘记超级管理员密码怎么办?如何重置密码呢? 一、前置操作 重启vmvare虚拟机的过程中,长按住Shift键 选择第一个的时候,按下按键 e 进入编辑状态。 然后就会进入到类似这个界面中。 在下方界面 添加 init=/bin/sh,然后按下Ctrl+x进行保存退出。 init=/bi…