MyBatis里的自定义结果映射规则的作用?

求助大神!!!在自定义结果映射的时候不就已经实现了javabean,在select标签中完全可以使用这个bean啊,为什么还要再去使用resultMap标签?意义在哪?

0

3个回答

不是大神。。说下自己的感觉,如果不区分resultMap resultType,谁知道你select的是一行记录,还是其他如count ,sum之类的函数呢

1

当你选择使用resultMap的时候 1, 如果当javabean里面的属性字段和数据表字段不对应的时候你可以使其一一对应 例如 你的javabean里面的属性是name
你数据库对应表字段是username的时候 你就可以通过result标签来进行对应 还有如果你使用一对一或者多对多的时候 就更需要使用resultMap 来进行定义了
其实resultMap标签扩展的用处还是蛮多的 方便灵活 实用 个人理解

1

意义在于数据库库中的复杂类型转换呀。①我们使用的数据库不乏有许多的复杂数据类型,为了我们的数据完整性,在类型转换时我们需要自己手动的调节我们期望的数据结果,最大限度的避免丢失数据或丢失精度的问题;②这个resultmap还能起到监控的作用,避免我们的类型转换错误;③通过自己手动调节,能够减少我们频繁的手动调节数据类型,给我们节省了大量的人力。(从读数据到存数据,调节好的话可以节省很多的重复代码),同时也做到了代码的复用性。

1
hu_belif
hu_beliefs 回复m_655_: 请点击采纳,谢谢
7 个月之前 回复
m_655_
655永远学习 谢谢大神我明白了
7 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
MyBatis基础用法--使用resultMap自定义高级映射规则
目录 resultMap简介 resultMap的用法 id & result constructor association 嵌套查询 嵌套结果 collection 嵌套查询 嵌套结果 discriminator resultMap简介 在前面两篇文章中,我们都是通过使用select元素的resultType属性指定查询结果的返回值类型,来让MyBatis自动...
MyBatis映射规则
Mapper映射器映射规则:    定义:           通过一定的映射规则,根据我们定义的接口可以自动生成对应的实现类,    然后重写接口中满足映射规则的方法,那么满足这个接口一般被称之为映射接口.    MyBatis是面向接口的编程:           可以将该配置文件看作是接口的实现类,最终会根据该配置文件生成对应接口的实现类               1.nam...
Mybatis结果集自动映射
Mybatis结果集自动映射          在使用Mybatis时,有的时候我们可以不用定义resultMap,而是直接在语句上指定resultType。这个时候其实就用到了Mybatis的结果集自动映射。Mybatis的自动映射默认是开启的,其在映射的时候会先把没有在resultMap中定义字段映射的字段按照名称相同的方式自动映射到返回类型的对应属性上。自动映射的时候会忽略大小写,比如查
mybatis高级映射总结
一、一对一查询 二、一对多查询 三、多对多查询
MyBaits 自定义结果映射
MyBaits—ResultMap自定义结果映射 resultMap是Mybatis最强大的元素,它可以将查询到的复杂数据(比如查询到几个表中数据)映射到一个结果集当中 以下以实例介绍resultMap的用法: 1、创建Employee对象: @Alias("emp") public class Employee { private Integer id; priva...
mybatis系列之返回结果映射
一、映射器 1.1 select元素 select元素来定义查询操作。 参数 描述 Id 唯一标识符。 – 用来引用这条语句,需要和接口的方法名一致 parameterType 参数类型。可以不传,MyBatis会根据TypeHandler自动推断 resultType 返回值类型。别名或者全类名,如果返回的是集合,定义集合中元 素的类型...
Mybatis--参数与结果的映射
1 参数的映射 传递一个Map,在Xml中parameterType设置为”map”,在sql中可直接取map的key传递进去即可。 接口:public List<User> testMapParam(Map<String,Object> param);XML:<select id="testMapParam" parameterType="map" resultType="com.test.m
Mybatis SQL映射语句中参数注解使用规则
来源:http://blog.csdn.net/oxcow/article/details/8024717/ 请查看最新整理地址:http://leeyee.github.io/blog/2012/09/27/mybatis-param-mapping-rules 最近在*Mybatis*的学习中对于映射语句中的参数注释设置有点犯迷糊,于是在*debug*下跟踪了下源代
Mybatis高级结果映射 [一对一, 一对多]
在关系型数据库中,经常要处理一对一、一对多的关系。例如在RBAC(Role-Based Access Control 基于角色的权限访问控制)权限系统中一个用户拥有多个角色,一个角色拥有多个权限这样复杂的嵌套关系。Mybatis可以轻松地解决这种复杂的关系。 数据库关系图 sys_user  -- 用户表 sys_role   -- 角色表 sys_user_role  -- 用户和角色关...
mybatis映射器配置细则
前面三篇博客我们已经多次涉及到映射器的使用了,增删查基本上都用过一遍了,但是之前我们只是介绍了基本用法,实际上mybatis中映射器可以配置的地方还是非常多,今天我们就先来看看映射器还有哪些需要配置的地方,用好这些配置,可以让我们的mybatis变得非常灵活。如果小伙伴对于mybatis尚不了解可以先参考前面三篇博客(初识mybatis/初识mybatis(二)/mybatis常用配置)否则小伙伴
mybatis使用接口映射必须遵循的规则
今天出现了一个问题。在com.lan.mapper包下有一个UserDao接口和UserMapper.xml映射文件。在做测试的时候,使用的是包扫描的方式在做模糊查询的时候一直出现异常,查了很久发现是映射文件找不到对应的方法。仔细查了很久都没有结果。当我把接口UserDao的名字改为UserMapper之后,执行成功。这可能也就是mybatis逆向工程自动生成接口和映射文件自动命名为*Mapper...
Mybatis续、Mapper映射器接口规则
配置一个MyBatis的Cost。查询资费列表的。。 与上面相同。只不过单独抽出来了一个类并定义了一个静态方法来获取Sqlsessionpackage unity;import java.io.InputStream;import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFac
mybatis中SQL多条件查询映射结果集的两种方式:resultMap和resultUser
多条件查询,使用封装一个类,封装多个条件查询的SQL语句,然后传递pojo对象进行多条件查询。   ①多条件的映射,结果集映射用到resultMap 结果集映射,映射多个sql查询条件。 ②使用别名代替 , 映射到resultType中   使用pojo和resultMap区别: pojo和SQL中查询的字段名不一致时候,使用resultMap(或者把mysql中Filedname和J...
Mybatis利用ResultMap自定义映射案例
这种情况主要用于解决实体类属性名与数据库表中字段名不一致的情况下,解决将查询结果映射成实体对象。 之前案例:http://blog.csdn.net/u013821825/article/details/51620371 1、准备实体类package org.xsx.entity;public class Emp2 { private Integer eid; private S
MyBatis查询结果集映射到JavaBean原理浅谈
MyBatis对JDBC做了很好的封装,其中一个吸引人的地方就是能够对从数据库内查询出来的表的记录集映射生成一系列JavaBean,供应用程序使用。今天跟着源码一层一层探讨一下MyBatis把数据库记录集映射到POJO对象的一个简要的过程。 1. DefaultResultSetHandler类 处理结果集的主要实现类,先从这个方法看 private void handleResultSet
【MyBatis】(二)MyBatis的SQL操作(操作各种SQL语句,动态SQL语句查询,Mapper映射器映射规则)
四、Mybatis操作各种SQL语句 1.查询 查询的标准模板<select id="" parameterType="" resultType="">SQL语句</select>     id:当前SQL定义的id,方便在代码中查找当前SQL语句     parameterType:传入SQL语句中占位符的参数类型:int,string,map,double,...
MyBatis-结果映射association标签的使用
association标签的部分说明 可参考的DTD规范 <!ELEMENT association (constructor?,id*,result*,association*,collection*, discriminator?)> <!ATTLIST association property CDATA #REQUIRED column CDATA #...
MyBatis之Mapper XML 文件详解-自动映射查询结果
正如你在前面一节看到的,在简单的场景下,MyBatis可以替你自动映射查询结果。 如果遇到复杂的场景,你需要构建一个result map。 但是在本节你将看到,你也可以混合使用这两种策略。 让我们到深一点的层面上看看自动映射是怎样工作的。当自动映射查询结果时,MyBatis会获取sql返回的列名并在java类中查找相同名字的属性(忽略大小写)。 这意味着如果Mybatis发现了ID列和id属性,M
Mybatis单表自动映射;使用<resultMap>设置映射结果集;多表查询
1. 自动映射【数据库字段名与实体类的属性名一致】     select id="selectList" resultType="cn.bjsxt.pojo.User">        select id,name,pwd,age from        t_user     select>   2. 使用resultMap设置映射结果集【数据库字段
[MyBatis]-resultMap结果映射集详解
resultMap结果映射集详解 resultmap是mybatis中最复杂的元素之一,它描述如何从结果集中加载对象,主要作用是定义映射规则、级联的更新、定制类型转化器。 resultmap构成元素 元素 子元素 作用 constructor idArg 、arg 用于配置构造器方法 id 将结果集标记为id,以方便全局调
自定义参数解析器
开发中,app端给服务端会传基础参数、其他参数,一般基础参数app端都会传给服务端,其他参数则是根据不同接口传不同参数。若以表单的形式提交的数据: 其中请求参数params就是上文所说的其他参数,而除了它都是基本参数,param的值是json字符串,对于这种请求方式用@RequestParam、@RequestBody都不能满足要求,用spring中自定义的参数解析器恰好可以解决这个问题。 ...
Mybatis 嵌套查询(高级结果映射)
需求说明有三张表,省级表,市级表,区级表。 需要做一个关联嵌套查询public class Province {//省份 private String code; private String name; private List<City> cities; }public class City {//城市 private String code; priv
Mybatis resultMap自定义结果映射
resultType与resultMap不能同时使用 &amp;lt;mapper namespace=&quot;com.guigu.EmployeePlus&quot;&amp;gt; &amp;lt;resultMap type=com.guigu.Employee id=&quot;MyEmp&quot;&amp;gt; &amp;lt;id column=&quot;id&quot; property=&quot;id&quot;&amp;gt;//对主键列进行定义 //column指哪一列,pr
开启mybatis数据库字段和domain驼峰式自动映射
#mybaits mybatis.configuration.mapUnderscoreToCamelCase=true  
mybatis 数据映射字段的关系
https://blog.csdn.net/sayoulalayy/article/details/50994350
mybatis映射器(四)
4.1 映射器的主要元素 元素名称 描述 备注 select 查询语句,最常用、最复杂的元素之一 可以自定义参数,返回结果集等 insert 插入语句 执行后返回一个整数,代表插入的条数 update 更新语句 执行后返回一个整数,代表更新的条数 delete 删除语句 执行后返回一个整数,代表删除的条数 param...
MyBatis中的Set配置信息详解
settings这是 MyBatis 中极为重要的调整设置,它们会改变 MyBatis 的运行时行为。下表描述了设置中各项的意图、默认值等。以下信息转载自MyBatis官方文档:http://www.mybatis.org/mybatis-3/zh/configuration.html设置参数描述有效值默认值cacheEnabled全局地开启或关闭配置文件中的所有映射器已经配置的任何缓存。true...
框架学习系列 mybatis 第十八篇 高级结果一对一结果映射之resultMap的使用
1:resultMap的使用 2:总结&下节预告 3:凯哥真诚的说一说 本文是《凯哥陪你学系列-框架学习之mybatis框架学习》中第十八篇 高级结果映射二 声明:本文系凯哥Java(www.kaigejava.com)原创,未经允许,禁止转载! 在上节课中,我们学了resultType的使用。其实就是扩展一个类,然后使用resultType。 我们知道,mybatis返回result
mybatis(二).MyBatis的接口映射器规则
前面的一篇文章中,用户表User表的sql操作文件中的全部sql都放在SqlSession中,那么如果要编写另外一个表的sql操作文件也要写很多sql,写的多了名称难免混淆或者不好记,容易出错。那么,有没有一种规则我们可以针对每个表的sql操作文件,把它封装成一个组件,处理那个表就调用哪个表的相关组件。答案是肯定的,这个规则就是接口映射器规则,我们可以根据这个接口映射器规则来编写代码,根据此接口编写的接口(该接口的方法都没有实现),不用实现类。在运行时MyBatis框架自动生成该接口的实现类,我们从Sq
mybatis映射文件中三种设置id的方式
&amp;lt;!-- 1.自己指定主键 --&amp;gt; &amp;lt;insert id=&quot;insertUser&quot; parameterType=&quot;com.hzit.bean.Users&quot;&amp;gt; insert into users values(#{userId},#{userName},#{userPwd},#{userAge},#{userSex},#{addr}) &amp;lt;/insert&amp;gt; &amp;...
###resultMap作用:映射【多表查询结果表】---mybatis
=====个人小结:&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt; &amp;lt;!DOCTYPE mapper PUBLIC &quot;-//mybatis.org//DTD Mapper 3.0//EN&quot; &quot;http://mybatis.org/dtd/mybatis-3-mapper.dtd&quot;&amp;gt; &amp;lt;mapper namespace=&quot;
mybatis的三种参数传递映射方式总结
mybaties有三中参数映射的方式 第一种:単个参数的映射方式 第二种:多个参数但又不是很多的时候的参数映射方式 第三种:参数比较多的时候 public interface UserMapper { //mappper映射之単个参数 User findUserById(long id); //mapper多参数传参 User findUserBysome(@Param(
Mybatis学习总结(四).Mapper映射文件
Mapper映射文件是在实际开发过程中使用最多的。Mapper文件中包含的元素有: cache – 配置给定命名空间的缓存。cache-ref – 从其他命名空间引用缓存配置。resultMap – 映射复杂的结果对象。sql – 可以重用的 SQL 块,也可以被其他语句引用。insert – 映射插入语句update – 映射更新语句delete – 映射删除语句select – 映射查询
使用Mybatis generator帮助Mybatis生成配置和映射
下载安装Mybatis Generator后,在Eclipse中,File&amp;gt;&amp;gt;New&amp;gt;&amp;gt;Other...,输入MyBatis,出现如下选项,说明安装成功。 点击Next&amp;gt; 点击Finish ,得到如下页面: &amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?&amp;gt; &amp;lt;!DOCTYPE generatorConfi...
mybatis--映射文件详解
Mybatis映射文件 一、输入映射 parameterType 指定输入参数的java类型,可以使用别名或者类的全限定名。它可以接收简单类型、POJO、HashMap。 1、传递简单类型 根据用户ID查询用户信息: SELECT * FROM USER WHERE id =#{id} 2、传递POJO对象 添加用户: SELECT LAST
mybatis联合查询 之 高级结果映射
MyBatis的创建基于这样一个思想:数据库并不是您想怎样就怎样的。虽然我们希望所有的数据库遵守第三范式或BCNF(修正的第三范式),但它们不是。如果有一个数据库能够完美映射到所有应用程序,也将是非常棒的,但也没有。结果集映射就是MyBatis为解决这些问题而提供的解决方案。例如,我们如何映射下面这条语句? 查看文本打印?    "selectBlogDetails"
Mybatis基础---常用SQL映射标签、多参数设置、resultMap(自定义映射)
一、if 元素如果什么 …..那么什么…….. ——->通常用于判断参数,进行sql语句的动态拼接1、 传入的参数是一个 实体对象 :<select id="selectUserLike" resultType="entity.User" parameterType="entity.User"> select * from user where 1=1 <!--
mybatis中关于驼峰写法映射的设置
mybatis中关于驼峰写法映射的设置,如果数据库用 下划线的写法,比如 数据库有个USER_NAME字段,那么与它对应的属性就应该是userName。如果字段命名没有使用下划线,那么属性可以直接定义成该单词。比如,NAME字段,它的属性就是name。 可以在mybatis的config文件中设置: 否...
MyBatis 一对多关联映射
示例【通过班级查询学生信息】 t_student表 t_classes表 创建Student package com.po; public class Student { private Integer sid; //学号 private String sname; //姓名 private String sex; //性别 private String addr...
Mybatis通过别名映射复杂对象
public class Apply { private int id; private int status; private User user; //setter/getter toString略 public class User { private int id ; private String phone; //setter/getter to
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 java映射学习 java 映射学习