Mybatis:当 parameterType 设置为 Map 时,参数可以传个 对象进来吗? 5C

答案:可以。但是有没有官方一点的解释?Mybatis:当 parameterType 设置为 Map 时,参数可以传个 对象进来吗?

0

9个回答

可以,比如有
class User
{
public String username;
public String sex;
}
那么这么写

<select id="findUser" parameterType="java.util.HashMap" resultType="cn.itcast.mybatis.po.User">  
        select * from user where user.username like '%${uname}%' and user.sex='女'  
</select> 

0
caozhy
大家听着:小便入池不是入游泳池 回复奇诺先生: 是的,它自己会通过反射给字段
一年多之前 回复
qq_34110503
奇诺先生 嗯,可以。是因为mybatis可以把obejct的属性自动解析成 map吗?
一年多之前 回复
0
chf304071711
chf304071711 当然可以
一年多之前 回复
qq_34110503
奇诺先生 找不到解释。
一年多之前 回复

这个参数的意思是你的传参,type是意思是一个集合(map),你说呢;

0

完全是可以的。mybatis 是可以自动解析的

0

不用:parameterType="java.util.HashMap" 我觉得应该是parameterType="map",就行了 你可以试试

0

或者配置






然后

SELECT t.lrrk_from name
,t.totalcount value FROM t_fact_population_lrrk t WHERE t.day=
(SELECT
max(day) FROM t_fact_population_lrrk) AND t.totalcount !='0'
AND t.type='1'
and t.lrrk_from not like '%其他%'
order by nvl(to_number(t.totalcount),'-1') desc

直接调用实体类

0

配置




0

图片说明

0

图片说明

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
mybatis 中parametertype的传入参数问题
一直都没有搞懂 这个问题,现在把它写下来      1: parametertype传入参数分为两种 ,第一种为java基本数据类型(一次传入一个基本类型的值,用#{参数值})。第二种为复杂数据类型(java实体类和Map)        java实体类和map可以传入多个值,之前我就不明白,怎么传入多个值,在#{}里面写什么内容。java实体类根据属性名字来判断传入的是哪个值 
mybati之parameterType传递多个参数
mybati之parameterType传递多个参数 当在查询的时候需要传入多个参数的时候该怎么办呢: 1,封装成一个Model对象,底层HashMap还是一个 User user=new User(); user.setUserName("zhangsan"); user.setPassword("123456"); queryUserByuserNameAndPas
【MyBatis学习05】传入参数parameterType
在前面的mapper.xml的select、insert、update、delete这些元素中,我们已接触了传入参数,并通过parameterType指定传入参数的类型。注意不要和parameterMap混淆了。(parameterMap几乎很少场景下用了)MyBatis可以使用的parameterType有基本数据类型和Java复杂数据类型。 复杂数据类型包含Java实体类、Map等。一、基本数
mybatis中关于传入参数parameterType
众所周知,mybatis的传入参数可以是各种Java的基本数据类型:包含int,String,Date等。基本数据类型作为传参,只能传入一个。通过#{参数名} 即可获取传入的值 ,复杂数据类型:包含JAVA实体类、Map。通过#{属性名}或#{map的KeyName}即可获取传入的值,但是如果想传入一个collection怎么办呢? 经查找后发现可以使用mapper配置文件中的foreach语句
使用mybatis对数据库执行更新操作时,parameterType为某个具体的bean,而bean中传入的参数为null时,抛出异常
问题描述 在使用mybatis对数据库执行更新操作时,parameterType为某个具体的bean,而bean中传入的参数为null时,抛出异常如下: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.type.TypeException: Could not set param...
MyBatis的parameterType传入参数类型
        在mybatis映射接口的配置中,有select,insert,update,delete等元素都提到了parameterType的用法,parameterType为输入参数,在配置的时候,配置相应的输入参数类型即可。parameterType有基本数据类型和复杂的数据类型配置。1. MyBatis的传入参数parameterType类型分两种   1. 1. 基本数据类型:int...
mybatis 使用 parameterType="Map" 传入值后 数据库中得到的却是 NULL
mybatis 映射文件: select , from tb_message m , tb_user u m.user_id = u.id and m.f_type = 0 and m.id = #{messageId,jdbcType=NUMERIC} and m.title like '%${title}%'
Mybatis传入多参数查询ParameterType=Map问题
想用ParameterType=Map传入多个参数构造SQL进行查询 select bs.bus_id as bus_id,bs.arrive_time as up_time,b.start_station as start_station_id, b.end_station as end_station_id from bus b , bus_station bs where
Mybatis插入数据返回主键,parameterType是HashMap,而非实体类做法
笔者当时想插入数据返回主键,但是parameterType使用的是HashMap,而非实体类笔者使用的是Oracle不过这种方式Mysql也可以参考一下,因为Mysql也是可以提前通过它自己的方言SQL语句拿到即将插入的数据的自增id尝试了一下使用HashMap获取id,获取成功,代码如下 &amp;lt;insert id=&quot;insertInfo&quot; parameterType=&quot;java.util...
mybatis查询当参数是数组的时候该怎么写parameterType
今天用到查询参数是一个不定元素个数的数组如int[]、String[] 在写select查询的parameterType的时候发现,如果parameterType是一个数组的话,要么配置语句中不写这个参数类型 即如下: &lt;select id="getMemberListById" resultType="java.util.HashMap" &gt; select i...
mybatis之parameterType传递多个参数
转自:wangchuanfu 的 《mybatis之parameterType传递多个参数》 原址:https://www.cnblogs.com/wangchuanfu/p/5877169.html 当在查询的时候需要传入多个参数的时候该怎么办呢: 1,封装成一个Model对象,底层HashMap还是一个 User user=new User(); user.setUserName(...
mapper映射文件中parameterType是多个如何传参
mybati之parameterType传递多个参数当在查询的时候需要传入多个参数的时候该怎么办呢:1,封装成一个Model对象,底层HashMap还是一个User user=new User(); user.setUserName(&quot;zhangsan&quot;); user.setPassword(&quot;123456&quot;); queryUserByuserNameAndPass(user);//为返回值...
MyBatis更新数据(输入参数类型为Map)
public boolean updateFpkjByCondition(Map params) { MapString , Object> map = new HashMap(); map.put("params" , params); return getMybatisDao().execute(FpkjConstant.UPDATEFPKJBYCONDITION, m
Mybatis查询 注意 传入参数
Myfault solving: <select id="findUserByNameAndPasswd" resultType="com.xiuye.orm.User" parameterType="string"> select * from user where username = #{0} and password=#{1} <select id="findUserB
问题描述: 在使用mybatis对数据库执行更新操作时,parameterType为某个具体的bean,而bean中传入的参数为null时,抛出异常如下:
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping{property=‘pxh‘, mode=IN, javaType=class java
关于mybatis 传入基本参数类型使用if test 判断出错的问题
在使用mybatis传入基本参数类型时,比如parameterType="java.lang.Long",使用if test 判断会报错,所以需要使用_parameter 当做入参 正确代码:         select         *         from        reason op         where         1=1            
myBatis中传入的参数是map,map里面存了字符串也存了对象,* mapper.xml文件中的sql该怎么写
(1)map中字符串的使用         &amp;lt;if test=&quot;startInvokeStartTime != null&quot;&amp;gt; and invoke_start_time &amp;gt;= #{startInvokeStartTime,jdbcType=TIMESTAMP} &amp;lt;/if&amp;gt; &amp;lt;if test=&quot;endInvokeStartTime != null&quot;&amp;gt;   ...
MyBatis中paramType中参数为"String"类型时报错异常。
  现在我们有一个dao层接口方法, public Class findAllByName(String name); 那么对应Mapper.xml文件 &amp;lt;select id=&quot;getAllByName&quot; parameterType=&quot;string&quot; resultType=&quot;Class&quot;&amp;gt; select * from class &amp;lt;where&amp;gt; ...
MyBatis的传入参数parameterType类型
1. MyBatis的传入参数parameterType类型分两种    1. 1. 基本数据类型:int,string,long,Date;    1. 2. 复杂数据类型:类和Map 2. 如何获取参数中的值:    2.1  基本数据类型:#{参数} 获取参数中的值    2.2  复杂数据类型:#{属性名}  ,map中则是#{key} 3.案例:    3
MyBatis中parameterType的错误使用情况
我知道,如果mapper的接口中使用一个参数的情况下,可以使用parameterType进行接受参数类型的指定,现在mapper.xml中的内容如下: parameterType可以接受简单的类型,也可以接受复杂来行,如map,自定义pojo等等,但是看看上面的代码并没有什么问题,不过也确实没有什么问题,再来看看mapper对应的接口类:  貌似也没什么问题,因为Long型在s
关于MyBatis入参parameterType、出参resultType是list类型的写法
1.mybatis的parameterType类型为list时, 注意:&amp;lt;foreach collection=&quot;list&quot; item=&quot;item&quot; separator=&quot;,&quot;&amp;gt; 里面不能有open=&quot;(&quot; close=&quot;)&quot; &amp;lt;insert id=&quot;insertListContacts&quot; parameterType=&quot;java.util
mybatis xml文件中传入参数和if结合使用时要注意的地方
mybatis中如果用了if那么传进来的参数不能直接单独传入,要封装到map或bo中传入,要么去了if     mybatis xml文件中传入参数和if结合使用时要注意的地方:     这里直接传入int但是又用了if所以出错 Caused by: org.apache.ibatis.reflection.ReflectionException: There is no gette
mybatis传多个参数导致找不到传入的参数
如果以上解决不了,参数可以改为#{arg0},#{arg1}  或者  #{param1},#{param2}  
【转载】mybatis parametertype 多个参数
转自:https://blog.csdn.net/lixld/article/details/77980443             https://blog.csdn.net/mrqiang9001/article/details/79520436             https://blog.csdn.net/m_jack/article/details/79569015 一、单个...
第四简单的4-mybatis,sql传参parameterType为包装类和map类型的测试
parameterType 包装类和普通实体类是一模一样的操作,也可支持级联 map作为入参也一样,只是不是用对象的属性,而是用map的key   步骤: Jar包导入,生成数据库表,创建与src同级资源目录config,test目录(注意,config,test均为资源目录) 1.       创建实体类和入参包装类:        DBUser.java      
Mybits调用存储过程和函数返回游标,parameterType值必须为java.util.Map,由于它会把返回的游标放在里面
{#{result,mode=OUT,jdbcType=CURSOR,resultMap=cursorMap} = call FN_QUERY_APP_AD_PIC(#{agencyId,mode=IN,jdbcType=INTEGER})}                  {call P_QUERY_APP_AD_PIC(              #{agencyId,mod
SSM框架之Mybatis同时传入多个对象及普通参数
当传入多个文件时,mapper接口文件的方法参数要使用@param(“xx”)注释。 例子: mapper: //Student是对象,age是String类型。 int getPojo(@param(&quot;student&quot;) Student student, @param(&quot;age&quot;) String age ); xml: &amp;lt;select id=&quot;getStudent&quot; resu...
mybatis参数传参、取值处理等
单个参数:mybatis不会做特殊处理 取值方式:#{参数名} 这里参数名不必与方法的形参名称一致,可以用任意参数名来接受实参 例子:方法:update(Integer id)   sql映射文件取值#{a},这样也可以取到值 多个参数:mybatis会做特殊处理,即把多个参数封装成一个map ,key:param1....paramN,value:传入的参数值,#{}就是就是从map...
Mybatis传入多个参数 Map List作为参数
在使用mybatis过程中可能存在传入多个参数的可能性 其中可能有单纯的
mybatis 的传入参数如何既有对象又有单个参数
int insertConstructionYears(@Param(&quot;construction_years&quot;)ConstructionYears construction_years,@Param(&quot;ct_id&quot;)long ct_id);
MyBatis中foreach传入参数为list、数组、map的不同写法
最近在做项目中遇到一个mybatis的问题,整了好久,怎么改都报错,最后发现竟然是写法的问题。现将此坑总结如下。collection属性是在使用foreach的时候最关键的也是最容易出错的,该属性是必须指定的,但是在不同情况下,该属性的值是不一样的,如果不区分,就容易出错。主要有一下3种情况: (1)如果传入的是单参数且参数类型是一个List的时候,collection属性值为list .(2)如...
Mybatis中动态SQL语句中的parameterType不同数据类型的用法
Mybatis中动态SQL语句中的parameterType不同数据类型的用法 1. 简单数据类型,     此时#{id,jdbcType=INTEGER}中id可以取任意名字如#{a,jdbcType=INTEGER},     如果需要if test则一定使用,     此处一定使用_parameter != null而不是id != null              sele
关于mybatis传入参数为map的简单笔记
自己写了一个小需求,根据用户id修改用户密码,ssm框架 具体参数是这样的 修改内容mapper是这样的 mapper.xml文件是这样的 传入参数可以 parameterType=&quot;map&quot; 简单的记一笔...
对Bean进行操作以用于把入参对象解析成Map参数传递到Mybatis的工具类
工具类如下: package com.cdkj.frame.core.utils; import java.beans.PropertyDescriptor; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.ParameterizedType; import java.lan
MyBatis的学习(三)——Mapper XML 文件和parameterType的传入参数
一、Mapper XML 文件 Mapper映射文件是在实际开发过程中使用最多的,也是我们学习的重点。 Mapper文件中包含的元素有: cache – 配置给定命名空间的缓存。 cache-ref – 从其他命名空间引用缓存配置。 resultMap – 映射复杂的结果对象。 sql – 可以重用的 SQL 块,也可以被其他语句引用。 insert – 映射插入语句 update...
mybatis传递多个参数和对象
mybatis传递多个参数时可以使用map或者使用@Param注解
输入映射(传递POJO包装对象和传递HashMap对象)
输入映射 传递pojo包装对象 需求: 用户综合条件查询功能。 使用mybatis实现用户查询列表,有很多查询条件(比如:商品信息、订单信息)。 如何将综合查询条件传到mybatis的statement中,要使用包装对象传这些参数。 - 定义一个包装对象 简单理解为:pojo包装了pojo - mapp
Mybatis查询语句需要用到两个参数但不是一个对象的时候:
例如: 可以在Dao层的xxxMapper.java中方法中引入两个参数然后再mapper.xml文档中取值的时候用0 1 取值,此时0表示第一个参数,1表示第二个参数,同时不能有parameterType属性 例子::0表示第一个参数,1表示第二个参数.其余Dao层,service层还一样 ...
输入参数:parameterType,对应的SQL语句编辑
输入参数:parameterType SQL语句中输入参数编辑中,#{}、${}的区别 1.类型为 简单类型(8个基本类型+String) a. #{任意值} ${value} ,其中的标识符只能是value b. #{}自动给String类型加上’’ (自动类型转换) ${} 原样输出,但是适合于 动态排序(动态字段) select stuno,stuname,stuage from ...
MyBatis学习笔记(五)输入(parameterType)与输出(resultType、resultMap)映射
转载自:输入(parameterType)与输出(resultType、resultMap)映射在MyBatis中,我们通过parameterType完成输入映射(指将值映射到sql语句的占位符中,值的类型与dao层响应方法的参数类型一致),通过resultType完成输出映射(从数据库中输出,通过dao层的方法查询到的数据输出到pojo对象中)。 注意输入与输出都是相对于数据库的。接下来我们先谈谈
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 python可以培训吗 云计算可以学吗