Mybatis的ResultMap对column和property的理解
Mybatis的ResultMap对column和property的理解
首先,先看看这张图,看能不能一下看明白:

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来保证所需的行为
Mybatis的ResultMap对column和property的理解的更多相关文章
- Mybatis的ResultMap对column和property
首先,先看看这张图,看能不能一下看明白: select元素有很多属性(这里说用的比较多的): id:命名空间唯一标识,可以被用来引用这条语句 parameterType:将会传入这条语句的参数类的 ...
- mybatis的resultMap自定义结果映射规则
dao接口 User myGetUserById(Integer id); sql xml自定义封装规则 <!--自定义某个javabean的封装规则 type:自定义规则的java类型 id: ...
- Mybatis中<resultMap>用法(主要用于一对多去重)
一.创建部门表和员工表: 创建部门信息表`t_department`,其中包括`id`, `name` CREATE TABLE t_department ( id INT AUTO_ ...
- mybatis column 和property
mybatis map文件中 resultMap中column和sql查询结果对应, property和实体private对应 <resultMap id="VideoYcAppRes ...
- Mybatis的ResultMap的使用
本篇文章通过一个实际工作中遇到的例子开始吧: 工程使用Spring+Mybatis+Mysql开发.具体的业务逻辑很重,对象之间一层一层的嵌套.和数据库表对应的是大量的model类,而和前端交互的是V ...
- 使用MyBatis的resultMap高级查询时常用的方式总结
以下内容已经通过楼主测试, 从pd设计数据库到测试完成, 之前楼主也没有过Mybatis 使用resultMap觉得有点乱,最近抽出时间总结了一下也算对MyBatis的resultMap进行一次系统的 ...
- Mybatis的ResultMap的使用(转)
本篇文章通过一个实际工作中遇到的例子开始吧: 工程使用Spring+Mybatis+Mysql开发.具体的业务逻辑很重,对象之间一层一层的嵌套.和数据库表对应的是大量的model类,而和前端交互的是V ...
- Mybatis之ResultMap一个简短的引论,关联对象
基础部分能够查看我的还有一篇博客http://blog.csdn.net/elim168/article/details/40622491 MyBatis中在查询进行select映射的时候.返回类型能 ...
- SSM框架开发web项目系列(三) MyBatis之resultMap及关联映射
前言 在上篇MyBatis基础篇中我们独立使用MyBatis构建了一个简单的数据库访问程序,可以实现单表的基本增删改查等操作,通过该实例我们可以初步了解MyBatis操作数据库需要的一些组成部分(配置 ...
- MyBatis之ResultMap简介,关联对象
MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap,resultType是直接表示返回类型的,而resultMap则是对外部ResultM ...
随机推荐
- 【牛客小白月赛69】题解与分析A-F【蛋挞】【玩具】【开题顺序】【旅游】【等腰三角形(easy)】【等腰三角形(hard)】
比赛传送门:https://ac.nowcoder.com/acm/contest/52441 感觉整体难度有点偏大. 作者:Eriktse 简介:19岁,211计算机在读,现役ACM银牌选手力争以通 ...
- 设计模式-用代理模式(Proxy Pattern)来拯救你的代码:打造可靠的程序设计
前言 设计模式是一种高级编程技巧,也是一种通用的解决方案.它能在不同的应用场景中使用,它可以提高代码的可读性.可复用性和可维护性.设计模式的学习能提高我们的编程能力以及代码质量,同时也能提高我们的开发 ...
- wireshark抓包教程详解
https://blog.csdn.net/lixinkuan328/article/details/122985439 Wireshark 的抓包和分析,看这篇就够了!:https://blog.c ...
- 一款针对EF Core轻量级分表分库、读写分离的开源项目
在项目开发中,如果数据量比较大,比如日志记录,我们往往会采用分表分库的方案:为了提升性能,把数据库查询与更新操作分开,这时候就要采用读写分离的方案. 分表分库通常包含垂直分库.垂直分表.水平分库和水平 ...
- React的行内样式与CSS
如何为组件添加 CSS 的 class? 传递一个字符串作为 className 属性: render() { return <span className="menu navigat ...
- Java语言在Spark3.2.4集群中使用Spark MLlib库完成朴素贝叶斯分类器
一.贝叶斯定理 贝叶斯定理是关于随机事件A和B的条件概率,生活中,我们可能很容易知道P(A|B),但是我需要求解P(B|A),学习了贝叶斯定理,就可以解决这类问题,计算公式如下: P(A)是A的先验概 ...
- Ubuntu Server搭建个人服务器
Ubuntu Server20.04.5 LTS [参考资料] Ubuntu官方地址:https://www.ubuntu.com/ Ubuntu论坛地址:https://ubuntuforums.o ...
- Azure DevOps(二)Azure Pipeline 集成 SonarQube 维护代码质量和安全性
一,引言 对于今天所分析的 SonarQube,首先我们得了解什么是 SonarQube ? SonarQube 又能帮我们做什么?我们是否在项目开发的过程中遇到人为 Review 代码审核规范?带着 ...
- VS 输入快捷键propfull
大家都知道prop.propg输入快捷键. 当前我们需要生成一段包含属性和字段的代码时,可以propfull. propfull在安装了reshaper后,会被隐藏掉.没关系,直接敲propfull, ...
- C# 系统菜单弹出框方向
右键菜单,tootip等弹出时,弹出的位置经常在左侧,使用体验不好. 弹出方向有左对齐和右对齐 SystemParameters.MenuDropAlignment 当右对齐时,值为false 可以在 ...