深入学习MyBatis中的参数
大家日常使用MyBatis经常会遇到一些异常,想要避免参数引起的错误,我们需要深入了解参数。
想了解参数,我们首先看MyBatis处理参数和使用参数的全部过程。今天小编就给大家带来下面这篇文章,给大家介绍MyBatis中参数的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
感谢大家的关注和收藏,小凡比心,么么么么。
相信很多人可能都遇到过下面这些异常:
不只是上面提到的这几个,我认为有很多的错误都产生在和参数有关的地方。
想要避免参数引起的错误,我们需要深入了解参数。想了解参数,我们首先看MyBatis处理参数和使用参数的全部过程。
参数处理过程
处理接口形式的入参
注意:从第3种情况来看,建议各位有多个入参的时候通过@Param指定参数名,方便后面(动态sql)的使用。
经过上面方法的处理后,在MapperMethod中会继续往下调用命名空间方式的方法:
从这之后开始按照统一的方式继续处理入参。
处理集合
不管是selectOne还是selectMap方法,归根结底都是通过selectList进行查询的,不管是delete还是insert方法,都是通过update方法操作的。在selectList和update中所有参数的都进行了统一的处理。
在DefaultSqlSession.java中的wrapCollection方法:
参数的使用
下面对这两种进行详细讲解,为了方便理解,先讲解第二种情况。
在动态SQL条件中使用参数
参数中的target就是ContextMap类型的,所以可以直接强转为Map类型。
参数中的name就是我们写在动态SQL中的属性名。
总结
以上就是这篇文章的全部内容了,如果你对Mybatis有一定的了解,这篇文章几乎是必读的一篇。希望本文的内容对大家的学习或者工作能带来一定的帮助,如有疑问大家可以留言交流,谢谢大家对马小凡的支持。
科技改变世界,JAVA让世界变得更美好。关注马小凡,编程不困难。
//更多海量资料视频资源可以私信马小凡“学习”二字,即可免费获取。
感谢老铁们的支持
深入学习MyBatis中的参数相关推荐
- 五、深入理解Mybatis中的参数parameterType (传递一个简单参数,传递多个参数:@Param、使用自定义对象、按位置、使用Map)
1.1 parameterType parameterType: 接口中方法参数的类型, 类型的完全限定名或别名.这个属性是可选的,因为 MyBatis可以推断出具体传入语句的参数,默认值为未设置(u ...
- 对比学习损失函数中超参数temperature的作用
目录 背景 超参数temperature的直观理解 对比学习中的temperature参数理解 背景 最近在看凯明大神的对比学习MOCO时,看到infoNCE loss的公式时,对其中参数T(应该是t ...
- 深度学习模型中的参数数量(备忘)
原文地址:huay' blog/模型中的参数数量(备忘) 记录模型参数数量的计算方法 最早使用 tensorflow 的时候没怎么注意这个问题: 后面高级 API 用的多了,有点忘记怎么计算模型的参数 ...
- 手工计算深度学习模型中的参数数量
https://www.toutiao.com/a6649299295855968782/ 2019-01-22 20:37:14 计算深度学习模型的可训练参数的数量被认为太微不足道了,因为您的代码已 ...
- 老司机学习MyBatis之如何处理参数(单个参数或者多个参数)
一.前言 Mybatis在使用Mapper接口进行编程时,底层采用了动态代理机制,表面上是调用的Mapper接口,而实际上是通过动态代理调用的SqlSession的对应方法,其最终会获得一个代理了Ma ...
- 【每日学习Mybatis中基础】trim标签使用
2019独角兽企业重金招聘Python工程师标准>>> 1.trim基础 trim标签的四个属性 prefix(前缀),prefixOverrides(去掉第一个and或者是or), ...
- mybatis中传入参数的几种方式
第一种: Dao层的方法 Public User selectUser(String name,String password); 对应的Mapper.xm <select id="s ...
- mybatis与php,浅谈mybatis中的#和$的区别
浅谈mybatis中的#和$的区别 发布于 2016-07-30 11:14:47 | 236 次阅读 | 评论: 0 | 来源: 网友投递 MyBatis 基于Java的持久层框架MyBatis 本 ...
- Mybatis中使用循环遍历
Mybatis中传参数的方法 1.使用注解绑定,mapper.xml 对应方法 不需要指定 parameterType,(推荐使用注解绑定方式) 方法接口: List<CalculateIdea ...
- Mybatis中的java.io.NotSerializableException
在学习Mybatis中,用JUnit运行了一个测试方法,出现了如下错误: org.apache.ibatis.cache.CacheException: Error serializing objec ...
最新文章
- memmove, memcpy 的mem魔法
- [HDOJ6165] FFF at Valentine(强联通分量,缩点,拓扑排序)
- python导入pandas出错_构建d时如何解决python-pandas导入错误
- 当你收到面试通知后,如下的准备可以大大提升面试成功率
- AV1生态系统更新:2019年6月
- Hadoop报错:All specified directories are failed to load.
- python通过下载链接下载_Python根据URL地址下载文件——wget
- mysql常用命令英文词汇_MySQL中文全文索引插件 mysqlcft 1.0.0 安装使用文档
- LeetCode 2129. 将标题首字母大写
- 会议交流 | 最新NLP核心技术与前沿实践分享!
- 新版CSDN中如何快速转载别人的CSDN博客,详细方法与步骤!!!
- 微型计算机2014年6月上,2014年6月福建省计算机一级考试选择题及答案
- Windows平台下PHP7添加Sqlserver扩展
- 2020年电商上市公司市值梯队
- Java多线程深度探索
- IDEA和webstorm破解方式
- 《锋利的JQuery》读书笔记
- xlsx 解析excel 后渲染到表格里(前端实现 解析excel渲染到表格)
- 矩形微带天线贴片尺寸计算
- HTML 小型进销库存界面模板