首先,先看看这张图,看能不能一下看明白:

 

select元素有很多属性(这里说用的比较多的):

id:命名空间唯一标识,可以被用来引用这条语句

parameterType:将会传入这条语句的参数类的完全限定名或者别名

resultType:从这条语句要返回的期望类型的类的完全限定名或别名(这里注意下集合类型,应该是集合可以包含的类型,不能是集合本身),重要:使用resultType或resultMap,但不能同时使用。

resultMap:命名引用外部的resultMap,其名称要和外部的resultMap元素的ID名称一致,用于映射其结果到实体类指定对象中。

那么什么时候我们知道使用resultMap,什么时候又使用resultType呢?

①当去select一张表时,可以使用resultType,这些情况下,MyBatis会在幕后自动创建一个ReusltMap,基于属性名来映射到JavaBean属性上

②所以在使用resultMap时,就必须要写上resultMap相对应的xml

③为了方便我们开发出错,在没有特别要求的情况下,column名可以完全和property名称一致,否则当我们没有对应上的时候,数据库匹配不到,会将某某参数值变为大写,导致我们本来获取小写的参数名,结果没有获取到,后台报错,得不偿失啊!

最后说下,sql中比如,有 andm.id = #{id ,jdbcType=VARCHAR } 要标明jdbcType为什么呢?

解释:

如果你映射了一个javabean,MyBatis通常可以断定类型(项目里好多都要写,我也不知道为啥),然而,如果你映射到的是比如:HashMap,那么应该明确指定的jdbcType来保证所需的行为
————————————————

原文链接:https://blog.csdn.net/u013364878/java/article/details/78658232

Mybatis的ResultMap对column和property的更多相关文章

  1. mybatis的resultMap自定义结果映射规则

    dao接口 User myGetUserById(Integer id); sql xml自定义封装规则 <!--自定义某个javabean的封装规则 type:自定义规则的java类型 id: ...

  2. Mybatis中<resultMap>用法(主要用于一对多去重)

    一.创建部门表和员工表: 创建部门信息表`t_department`,其中包括`id`, `name` CREATE TABLE t_department (         id INT AUTO_ ...

  3. mybatis column 和property

    mybatis map文件中 resultMap中column和sql查询结果对应, property和实体private对应 <resultMap id="VideoYcAppRes ...

  4. Mybatis的ResultMap的使用

    本篇文章通过一个实际工作中遇到的例子开始吧: 工程使用Spring+Mybatis+Mysql开发.具体的业务逻辑很重,对象之间一层一层的嵌套.和数据库表对应的是大量的model类,而和前端交互的是V ...

  5. 使用MyBatis的resultMap高级查询时常用的方式总结

    以下内容已经通过楼主测试, 从pd设计数据库到测试完成, 之前楼主也没有过Mybatis 使用resultMap觉得有点乱,最近抽出时间总结了一下也算对MyBatis的resultMap进行一次系统的 ...

  6. Mybatis的ResultMap的使用(转)

    本篇文章通过一个实际工作中遇到的例子开始吧: 工程使用Spring+Mybatis+Mysql开发.具体的业务逻辑很重,对象之间一层一层的嵌套.和数据库表对应的是大量的model类,而和前端交互的是V ...

  7. Mybatis之ResultMap一个简短的引论,关联对象

    基础部分能够查看我的还有一篇博客http://blog.csdn.net/elim168/article/details/40622491 MyBatis中在查询进行select映射的时候.返回类型能 ...

  8. SSM框架开发web项目系列(三) MyBatis之resultMap及关联映射

    前言 在上篇MyBatis基础篇中我们独立使用MyBatis构建了一个简单的数据库访问程序,可以实现单表的基本增删改查等操作,通过该实例我们可以初步了解MyBatis操作数据库需要的一些组成部分(配置 ...

  9. MyBatis之ResultMap简介,关联对象

    MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap,resultType是直接表示返回类型的,而resultMap则是对外部ResultM ...

随机推荐

  1. LeetCode随缘刷题之截断句子

    这道题相对比较简单.正好最近学到StringBuilder就用了. package leetcode.day_12_06; /** * 句子 是一个单词列表,列表中的单词之间用单个空格隔开,且不存在前 ...

  2. ASP.NET Core 6框架揭秘实例演示[01]: 编程初体验

    作为<ASP.NET Core 3框架揭秘>的升级版,<ASP.NET Core 6框架揭秘>提供了很多新的章节,同时对现有的内容进行大量的修改.虽然本书旨在对ASP.NET ...

  3. Java两个整数相除保留n位小数

    方式1:被除数转double后,除以除数,结果是一个double类型的数,将double结果按要求保留n位小数即可. 保留n位小数的写法 int a = 10; int b = 3; double r ...

  4. 理解Faster R-CNN

    首先放R-CNN的原理图 显然R-CNN的整过过程大致上划分为四步: 1.输入图片 2.生成候选窗口 3.对局部窗口进行特征提取(CNN) 4.分类(Classify regions) 而R-CNN的 ...

  5. Solution -「Gym 102956F」Border Similarity Undertaking

    \(\mathcal{Description}\)   Link.   给定一张 \(n\times m\) 的表格,每个格子上写有一个小写字母.求其中长宽至少为 \(2\),且边界格子上字母相同的矩 ...

  6. 手把手带你安装最小化suse 12 linux

    当然. 你需要现有一个vmware,还要有一个suse的镜像,suse镜像可以直接去官网获取,只需要注册一个suse的账号就可以了,官网下载会有点慢,可以使用迅雷下载 F2 可以设置安装界面的语言,可 ...

  7. 攻防世界之Web_php_include

    题目: 解题思路: 直接给出源码,由代码可知此题应该为文件包含,而且应该利用php伪协议 strstr() 函数搜索字符串在另一字符串中是否存在,如果是,返回该字符串及剩余部分,否则返回FALSE 可 ...

  8. 【信而泰】网络损伤仿真,为5G应用保驾护航

    5G,绝对是今年最热门的话题!2019年6月6日,工信部正式向中国电信.中国移动.中国联通.中国广电发放5G商用牌照,中国正式进入5G商用元年.5G不仅仅是一次通信技术的升级,更是开启了一个新的时代. ...

  9. Smartbi与Tableau功能盘点,我选Smartbi!

    只要对大数据BI行业有所了解的人群,想必这两个数据分析工具Tableau和PowerBI都已经耳熟能详了吧. ·关于Tableau Tableau是一种数据可视化的工具,可提供复杂的计算.数据混合和仪 ...

  10. C#CancellationToken/CancellationTokenSource-取消令牌/取消令牌源 CT/CTS

    详细情况:https://www.cnblogs.com/wucy/p/15128365.html 背景 为什么引入取消令牌? Thread.abort()方法会破坏同步锁中代码的原子逻辑,破坏锁的作 ...