大家日常使用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中的参数相关推荐

  1. 五、深入理解Mybatis中的参数parameterType (传递一个简单参数,传递多个参数:@Param、使用自定义对象、按位置、使用Map)

    1.1 parameterType parameterType: 接口中方法参数的类型, 类型的完全限定名或别名.这个属性是可选的,因为 MyBatis可以推断出具体传入语句的参数,默认值为未设置(u ...

  2. 对比学习损失函数中超参数temperature的作用

    目录 背景 超参数temperature的直观理解 对比学习中的temperature参数理解 背景 最近在看凯明大神的对比学习MOCO时,看到infoNCE loss的公式时,对其中参数T(应该是t ...

  3. 深度学习模型中的参数数量(备忘)

    原文地址:huay' blog/模型中的参数数量(备忘) 记录模型参数数量的计算方法 最早使用 tensorflow 的时候没怎么注意这个问题: 后面高级 API 用的多了,有点忘记怎么计算模型的参数 ...

  4. 手工计算深度学习模型中的参数数量

    https://www.toutiao.com/a6649299295855968782/ 2019-01-22 20:37:14 计算深度学习模型的可训练参数的数量被认为太微不足道了,因为您的代码已 ...

  5. 老司机学习MyBatis之如何处理参数(单个参数或者多个参数)

    一.前言 Mybatis在使用Mapper接口进行编程时,底层采用了动态代理机制,表面上是调用的Mapper接口,而实际上是通过动态代理调用的SqlSession的对应方法,其最终会获得一个代理了Ma ...

  6. 【每日学习Mybatis中基础】trim标签使用

    2019独角兽企业重金招聘Python工程师标准>>> 1.trim基础 trim标签的四个属性 prefix(前缀),prefixOverrides(去掉第一个and或者是or), ...

  7. mybatis中传入参数的几种方式

    第一种: Dao层的方法 Public User selectUser(String name,String password); 对应的Mapper.xm <select id="s ...

  8. mybatis与php,浅谈mybatis中的#和$的区别

    浅谈mybatis中的#和$的区别 发布于 2016-07-30 11:14:47 | 236 次阅读 | 评论: 0 | 来源: 网友投递 MyBatis 基于Java的持久层框架MyBatis 本 ...

  9. Mybatis中使用循环遍历

    Mybatis中传参数的方法 1.使用注解绑定,mapper.xml 对应方法 不需要指定 parameterType,(推荐使用注解绑定方式) 方法接口: List<CalculateIdea ...

  10. Mybatis中的java.io.NotSerializableException

    在学习Mybatis中,用JUnit运行了一个测试方法,出现了如下错误: org.apache.ibatis.cache.CacheException: Error serializing objec ...

最新文章

  1. memmove, memcpy 的mem魔法
  2. [HDOJ6165] FFF at Valentine(强联通分量,缩点,拓扑排序)
  3. python导入pandas出错_构建d时如何解决python-pandas导入错误
  4. 当你收到面试通知后,如下的准备可以大大提升面试成功率
  5. AV1生态系统更新:2019年6月
  6. Hadoop报错:All specified directories are failed to load.
  7. python通过下载链接下载_Python根据URL地址下载文件——wget
  8. mysql常用命令英文词汇_MySQL中文全文索引插件 mysqlcft 1.0.0 安装使用文档
  9. LeetCode 2129. 将标题首字母大写
  10. 会议交流 | 最新NLP核心技术与前沿实践分享!
  11. 新版CSDN中如何快速转载别人的CSDN博客,详细方法与步骤!!!
  12. 微型计算机2014年6月上,2014年6月福建省计算机一级考试选择题及答案
  13. Windows平台下PHP7添加Sqlserver扩展
  14. 2020年电商上市公司市值梯队
  15. Java多线程深度探索
  16. IDEA和webstorm破解方式
  17. 《锋利的JQuery》读书笔记
  18. xlsx 解析excel 后渲染到表格里(前端实现 解析excel渲染到表格)
  19. 矩形微带天线贴片尺寸计算
  20. HTML 小型进销库存界面模板

热门文章

  1. office visio 2007 画流程图
  2. C语言学习之用函数求立方体的体积
  3. 联想键盘sk8821的Fn功能键
  4. windows下yafu的下载及其安装
  5. element tree不刷新视图_架构蓝图软件架构 quot;4+1quot; 视图模型
  6. 软件概要设计文档编写
  7. 详解Android常用抓包工具的使用方法、技巧-学习笔记20220416
  8. KITTI立体匹配数据集解析
  9. 抓包工具——【Mac】Charles的下载和安装
  10. Mac下host管理工具