Mybatis如何使用注解方式设置resultMap的type属性。
@Mapper
public interface TableSearchMapper {
  @Select("call sp_XTBCX(#{tableName,mode=IN,jdbcType=VARCHAR},'','',#{result,mode=OUT,jdbcType=CURSOR,javaType=ResultSet,resultMap=result})")
  @Results(id = "result")
  @Options(statementType= StatementType.CALLABLE )
  public List<Map<String,Object>> tableSearch(@Param("tableName")String tableName,@Param("result")List<Map<String,Object>> result);
}

存储过程是输入表名后输出经过处理的全集,所以列名是不确定的,想写一个动态的方法,通过网上搜索XML形式在配置中将的type属性设置成HashMap可以实现,但是由于现在工程中所有Mapper都是基于注解形式的,但是@Results没有type属性

还有一点疑惑是:TableSearchMapper这个方法,返回值是否可以是void,是将Map参数传进来之后return Map参数还是return 这个方法的返回值?

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
MyBatis框架核心之(五)注解使用resultMap及多表查询
五、resultMap与多表查询(注解)rn rn传统的mapper.xml+接口使用接口映射相对较麻烦rn所以我们可以使用注解来简化开发rn rn支持的注解有以下:rnMyBatis可以利用SQL映射文件来配置,也可以利用Annotation来设置。MyBatis提供的一些基本注解如下表所示。rnrnrnrnrn注解rnrnrn目标rnrnrn相对应的 XMLrnrnrn描述rnrnrnrnrn
mybatis返回值类型及正确使用resultType和resultMap
MyBatis的返回参数类型分两种nn对应的分类为:nn1.1. resultMap :n1.2. resultType :n2 . 对应返回值类型:n2.1. resultMap : 结果集[对象等]n2.2. resultType : Integer,String ,Long ,classnn注意点:n在MyBatis进行查询映射时,其实查询出来的每一个属性都是放在一个对应的Map里面的,其中...
Mybatis查询结果ResultMap的继承
需求:在查询用户表的同时,关联角色表查出角色名称(假设每个用户只有一个角色)nnn//用户类npublic class User {n n private String id;n n private String name;n n private String roleId;nn public String getId() {n return id;n }nn publi...
Mybatis自定义ResultMap使用总结
前段时间因为需求变更,使用Mybatis写SQL的时候需要自定义ResultMap,在使用的过程中也遇到了很多奇怪的问题,搞不懂是什么原因,各路大神有知道的还请指导指导rnrnrn在同一个映射文件里,我的第一个ResultMap对应的是一个DAO,是这么写的:rnn n n n n n n n n n n n n n
mybatis的注解及使用方法
注解有下面这些:nnnnn注解nn目标nn相对应的 XMLnn描述nnnnnn@CacheNamespacenn类nnnn为给定的命名空间 (比如类) 配置缓存。 属性:implemetation,eviction, flushInterval,size 和 readWrite。nnnn@CacheNamespaceRefnn类
mybatis学习笔记之——mybatis的Mapper XML文件中resultMap属性
resultMapnnresultMap:自定义结果集映射规则,自定义某个JavaBean的封装规则。nnid:唯一id,方便引用。nntype:自定义规则的Java类。nn具体其他属性详细信息和配置代码如下:nnn&amp;lt;resultMap id=&quot;MyEmp&quot; type=&quot;com.test.mybatis.bean.Employee&quot;&amp;gt;n &amp;lt;!--n id:指定主键列的...
Mybatis框架的使用之四(resultMap的使用)
绝大多数情况下,一条完整的信息至少分别来自两张或以上的表,连表查询非常常见,这种情况下可以使用resultMap属性n1、使用resultMap实现简单结果映射:nuser表:nrole表:nnuser表中的userRole是外键,对应role表中的idn需求:通过userName和userRole,查询到符合条件的用户和其RoleNamen在这里,用户信息来自user表,roleName来自ro...
[MyBatis]-resultMap结果映射集详解
resultMap结果映射集详解nnnnn resultmap是mybatis中最复杂的元素之一,它描述如何从结果集中加载对象,主要作用是定义映射规则、级联的更新、定制类型转化器。nnnnnresultmap构成元素nnnnn 元素n 子元素n 作用nnnn constructorn idArg 、argn 用于配置构造器方法nnn idn n 将结果集标记为id,以方便全局调
Mybatis----resultMap与注解方式实现单表、联表查询、MyBatis源码及运行原理
一、MyBatis实现多表查询的方式nn1)业务装配.对两个表编写单表查询语句,在业务(Service)把查询的两个结果进行关联nn2)使用 Auto Mapping 特性,在实现两表联合查询时通过别名完成映射.nn3)使用 MyBatis 的&lt;resultMap&gt;标签进行实现.nnnn多表查询时,类中包含另一个类的对象的情况:1.单个对象 2.集合对象nn二、resultMap标...
mybatis在resultMap的type使用Map来接收值,避免建立DTO实体类
rn开发环境rnjdk 1.8rnmybatis版本3.2.5rnrnDao的mapperrn定义了一个查询 selectSpecialtyFormMap, 查询的结果用resultMap的specialFormResultGetmap接收.rn &amp;amp;lt;select id=&amp;quot;selectSpecialtyFormMap&amp;quot; resultMap=&amp;quot;specialFormResultGetmap&amp;quot; param...
MyBatis源码分析之@ResultMap注解详解
MyBatis源码分析之@ResultMap注解详解n在前一篇文章讲**@MapKey注解时,我原想将@ResultMap注解也一起拿出来说一下,但是发现@ResultMap解析加载源码非常多,想想就不在一篇文章中讲了,分开单独来说,这一篇就来彻底探索一下@ResultMap**注解。n1. 加载过程nn说到解析Mapper方法上的注解**@ResultMap**,这个就要回到解析configur...
MyBatis基础用法--使用resultMap自定义高级映射规则
目录nnresultMap简介nnresultMap的用法nnid &amp; resultnnconstructornnassociationnn嵌套查询nn嵌套结果nncollectionnn嵌套查询nn嵌套结果nndiscriminatornnresultMap简介nn在前面两篇文章中,我们都是通过使用select元素的resultType属性指定查询结果的返回值类型,来让MyBatis自动...
mybatis数据库表字段名与实体类属性名不同的冲突之resultMap
<?xml version="1.0" encoding="UTF-8" ?>n 2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">n 3 n 4 n 5 n 6 <mapper namespace="com.mybatis.map
MyBatis使用 resultMap的association 标签实现懒加载
首先 , 做好初始化工作 ,  建立三张表 , sys_user ,sys_role ,sys_user_role , 建表语句如下nnnCREATE TABLE `sys_user` (n `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户id',n `user_name` varchar(64) DEFAULT NULL COMMENT '用户...
mybatis配置文件中resultType和resultMap错写后将会封装成属性不一样数据,以及后台报错java.util.HashMap cannot be cast to com.entity
利用mybatis配置文件,将数据库里查询出来的数据映射属性(property对应column) 如果有属性是对象类型或者集合类型的,需要配置association和collection。返回值则要对应配置resultMap属性,如果还写成原来的resultType,映射的数据将会封装成一个map类型的数据,类似于json字符串格式,而不是我们认为的对象类型,并且所封装出来的数据会按照SQL语句中
Spring boot + mybatis resultMap高级映射(一对一、一对多、多对多)
application.properties配置文件############################################n## MySQL数据库连接n############################################nspring.datasource.url = jdbc:mysql://localhost:3306/dongsuo_test?useU...
mybatis关联查询resultmap的使用详解resultmap
因为该案例比较典型,所以记录一下,恐后期有所疑问,以便用时便于会议。案例典型在 关联关系典型主表一张业务模板表TABLE_NAME COLUMN_NAME COMMENTSnYMIT_BIZ_TMP PK_ID 自增主键nYMIT_BIZ_TMP BIZ_TMP_NM 业务模板名称nYMIT_BIZ_TMP TRD_INF_ID 交易接口ID,与接口用例树关联nYMIT_BIZ_TMP TRD_I...
Mybatis ResultMap 无法继承父resultMap的映射关系
**结论: 子resultMap的type不是抽象类的时候才能够成功继承父resultMap的映射关系,否则子resultMap的extends属性写了跟没写一样。。。**今天在实现一个贷款功能的时候,需要查询贷款对象,及其聚合的额度条件对象,发现现有的sql没有把额度条件查出来,于是只好自己添加了一个sql,相应的就要加一个resultMap,继承原来的resultMap。<resultMap i
自学Mybatis(三)-----Mybatis注解方式的基本用法
一、简介rn书接上文,上回简单介绍了Mybatis用映射文件的方式来访问数据库,其实Mybatis还有另外一种形式,就是使用注解的方式,与hibernate的用法有点不相同,Mybatis注解方式就是将SQL语句直接写在接口上,这种方式的优点在于,如果需要编写的SQL语句不算复杂,效率会很高。但缺点是,如果当SQL发生变化时,都要重新编译代码。一般情况下,如果系统需求比较简单,可以使用注解的方式编
Mybatis最入门---ResultMaps实例篇(一对一查询)
[一步是咫尺,一步即天涯]n前面我们花了两篇文章的篇幅叙述了Mybatis中最核心的resultMap配置,本文开始,我们来演示在实际开发中,如何配置和使用resultMap提供给我们强大功能。n准备工作:nnna.操作系统 :win7 x64nnb.基本软件:MySQL,Mybatis,Spring,SQLyog,Tomcat,web基础nn特别的,作为演示程序,还请各位看官不
注解开发mybatis的mapper属性和字段不对应问题@Results—resultMap
注解开发—mybatis的mapper属性和字段不对应问题@Results—resultMapMybatis给我们提供了一种映射方式,如果属性的命名是遵从驼峰命名法的,数据列名遵从下划线命名。MyBatis支持使用注解来配置映射语句,不再需要在XML配置文件中配置。学习内容n@Results对应resultMapn@Result对应result n这两个注解是应用在方法的级别上的,也就是在mappe
mybatis学习之多表关联查询和resultmap的常用标签和属性 和分页查询
映射方式一:nresultType和resultMap都可以用但要注意字段的名称和pojo属性的名称;如果pojo属性不够可 采用继承和添加属性的方式去实现映射;nnnnresultMap:在多表查询的时候,查询到多条数据,需要把数据封装到pojo中,再把pojo放到list集合中,这里用到了ofType属性;nresultMap中用到的属性和标签;n标签://返回一个list集合
【报错】resultMap认知错误
数据库改了一个字段的名字,后来牵扯到实体类标准化都要改,原来以为,mybatis使用的sql语句都是通过resultMap映射后,可以使用后面的property,因为之前column的值都是和property的值都是一样的,今天才发现,汗颜,记录一下,希望以后不要再犯;rnresultMap ,给这个Map映射起一个名字叫BaseResultMap,类型为Gropu类型;rn然后,其中的内容,用r
MyBatis-关联表增删改查配置、resultMap、association、collection的使用
相关代码参考: nMyBatis-搭建MyBatis开发环境一(MyEclipse版)1、数据库表信息实体类代码1、Deptpublic class Dept { private Integer deptno;n private String dname;n private String loc; //get set方法略n}2、Emppublic class Emp {
MyBatis中resultType、resultMap元素和分步关联查询
MyBatis select标签, 常用元素有:id、parameterType、resultType、resultMap,nnid:配合Mapper的全限定名,联合成为一个唯一的标识,用户标识这条SQL。nnparameterType:表示这条SQL接受的参数类型,可以是MyBatis系统定义或者自定义的别名nnresultType:表示这条SQL返回的结果类型,与parameterType一样...
Mybatis resultMap自定义结果映射
resultType与resultMap不能同时使用n&amp;lt;mapper namespace=&quot;com.guigu.EmployeePlus&quot;&amp;gt;n&amp;lt;resultMap type=com.guigu.Employee id=&quot;MyEmp&quot;&amp;gt;n&amp;lt;id column=&quot;id&quot; property=&quot;id&quot;&amp;gt;//对主键列进行定义n//column指哪一列,pr
Mybatis最入门---ResultMaps实例篇(一对多查询)
[一步是咫尺,一步即天涯]nn接上文,我们来演示在实际开发中,如何配置和使用resultMap实现一对多查询。nn准备工作:nnnna.操作系统 :win7 x64nnb.基本软件:MySQL,Mybatis,Spring,SQLyog,Tomcat,web基础nn特别的,作为演示程序,还请各位看官不要纠结数据库的细节内容nn----------------------
【MyBatis学习07】输出类型resultType及输出参数映射resultMap
使用mybatis操作时,对于SQL语句返回结果的处理通常有两种方式,一种是resultType,另一种是resultMap。 nresultType:如果要填充的pojo属性和数据库列名完全一致,可采用resultType。如果出现不一致的情况下,系统并不会报错,只是pojo的属性会填充成null。 nresultMap:如果出现不一致的情况下怎么办呢?就要用到reslutMap了。pojo类如下
【Mybatis】ResultMap级联属性封装关联查询结果
1.MySQL下新建两张数据库表tbl_employee和tbl_deptCREATE TABLE `tbl_employee` (n `id` int(11) NOT NULL AUTO_INCREMENT,n `last_name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,n `gender` char(1) COLLATE u...
mybatis中resultMap 标签的使用
注:此篇博客与上一篇 “MyBatis的概述以及基本使用” 是衔接一起的nnresultMap 标签:nn用来描述如何从数据库结果集中来加载对象nn(敲黑板!!)主管数据库的字段和实体类属性的匹配,真正的作用在于联查nn我们直接看案例:nn这是我的数据库(如下):nnnn这是我的实体类(如下):nnnn这是修改后的实体类(如下):nnnn这是我的 Mapper(如下):nnnn上一次的博客中有说我...
Mybatis基础---常用SQL映射标签、多参数设置、resultMap(自定义映射)
一、if 元素如果什么 …..那么什么…….. ——->通常用于判断参数,进行sql语句的动态拼接1、 传入的参数是一个 实体对象 :<select id="selectUserLike" resultType="entity.User" parameterType="entity.User">n select * from user where 1=1n <!--
关于mybatis配置文件中的resultMap和resultType
id="selectByName" parameterType="string" resultType ="com.listore.pojo.Category">n select * from listore_category where name = #{name,jdbcType=VARCHAR};nrn在没有标签中可以使用resultType,但是有了标签以后就会封装对象时候封装失败r
ResultMap属性与值的映射
1.将属性和实体类中的名字取成一致,则可以采用自动映射 n2.使用标签进行字段与属性的映射 <resultMap id="BaseResultMap" type="com.witontek.mobilehospital.domain.Categories">n <id column="category_id" jdbcType="VARCHAR" property="catego
MyBatis Model类(表)别名与ResultMap的使用【学习笔记 三】
MyBatis第一个例子:https://blog.csdn.net/Kedongyu_/article/details/81544546nnMyBatis Model类(表)别名nn一、Xml方式:通过Mybatis 配置文件config.xml设置Model类别名nn      1.在配置文件中&amp;lt;typeAliases&amp;gt;标签下使用&amp;lt;typeAlias&amp;gt;对全限定类名设置别...
###resultMap作用:映射【多表查询结果表】---mybatis
=====个人小结:&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;n&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;n&amp;lt;mapper namespace=&quot;
MyBatis框架核心之(四)Mapper文件使用resultMap及多表查询
四、resultMap与多表查询(mapper.xml文件)rn一、resultMap简介rnMyBatis是基于“数据库结构不可控”的思想建立的,也就是我们希望数据库遵循第三范式或BCNF,但实际事与愿违,那么结果集映射就是MyBatis为我们提供这种理想与现实间转换的手段了,而resultMap就是结果集映射的配置标签了。rn rn1.从SQL查询结果到领域模型实体              
浅谈mybatis返回ResultMap,若是字段为空,返回值属性自动忽略问题。
前段时间,使用mybatis遇到一个奇葩问题。当返回类型为ResultMap的时候,如果选择的字段为空,那么mybatis会忽略掉该对应属性。也是就是,你想要这种类型的数据返回: {n name : &quot;隔壁老王&quot;,n age : 20,n sex : &quot;男&quot;n }然而,却返回这种数据: {n name : &quot;隔壁老王&quot;,n age : 20n }没错,这是mybatis返回机制的锅。讲道...
mybatis 因为没有设置resultMap id 引起的多结果集异常
mybatis *Mapper.xml 中resultMap的id用来提高整体效能,是比较对象实例时的标识属性,特别是嵌入缓存和结果映射。如果resultMap中不含id项,有可能出现org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.TooManyResultsExc
mybatis源码-解析配置文件(四-二)之配置文件Mapper解析(resultMap)
在 select 语句中查询得到的是一张二维表, 水平方向上看是一个个字段, 垂直方向上看是一条条记录。rn作为面向对象的语言, Java 中的的对象是根据类定义创建的。 类之间的引用关系可以认为是嵌套的关系。rn在 mybatis 中, resultMap 节点定义了结果集和结果对象(JavaBean)之间的映射规则。rn本文主要讲解的是 resultMap 的解析。rn1 两个基础类rn在阅读本文之前,...
MyBatis映射文件的resultMap如何做表关联
nMyBatis的核心是其映射文件,SqlMap文件,里面配置了项目中用到了什么SQL语句,和数据库相关的逻辑都在这个映射文件里.顾名思义,映射文件就是对Java对象和SQL的映射.这里简单介绍一下映射文件中resultMap的用法:resultMap – 它描述如何将结果集映射到Java对象.resultMap属性:type为java实体类;id为此resultMap的标识:&amp;lt;result...
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 物联网专业如何设置课程 python如何学习使用模块6