mybatis传入map参数
初学mybatis产生两个问题:
mybatis传入参数执行SQL语句好像并不是很智能?xml文件中指定parameterType只能是一种数据类型。假设我现在需要执行一条SQL语句,里面有两个参数:一个int类型,一个String类型又该怎么办?
如果执行SQL语句的数据表中有成千上百个字段,但是真正执行sql语句只需要针对其中两个字段进行更改操作,那么实例化一个pojo的类似乎显得有点小题大做。
其实这两个问题是同一个,就是mybatis能不能像JDBC那样自由指定参数进行执行SQL语句呢?答案是能的,parameterType 可以指定数据类型为map类型。在使用时传入一个map集合类即可。
//接口方法
int map_test(Map<String,Object> map);//绑定接口方法
<update id="map_test" parameterType="map">update user set pwd = #{userpwd} where id = #{userid}
</update>@Test
public void testmap(){SqlSession session = null;try{Map<String,Object> map = new HashMap<>();session = mybatisUtil.getSqlsession(); //加载工具类map.put("userid",1);map.put("userpwd","111111");UserDao mapper = session.getMapper(UserDao.class);int i = mapper.map_test(map);session.commit();} catch (Exception e){e.printStackTrace();} finally {session.close();}
}
唯一需要注意的就是xml配置文件中取map的key对应的value时,字段要和传入的一样即可。当遇上大量的数据字段时而又只操作其中的几个时,使用map会简易很多。
mybatis传入map参数相关推荐
- mybatis传入map参数parameterType
基本数据类型:包含int,String,Date等.基本数据类型作为传参,只能传入一个.通过#{参数名} 即可获取传入的值 复杂数据类型:包含JAVA实体类.Map.通过#{属性名}或#{map的Ke ...
- Mybatis中如何传入map参数呢?
转自: Mybatis中如何传入map参数呢? 下文笔者讲述Mybatis的xml中使用map参数的方法分享,如下所示 实现思路:1.将参数类型设置为map2.在xml中直接使用map的键值获取参数即 ...
- JSONObject和JSONArray 以及Mybatis传入Map类型参数
import org.json.JSONArray; import org.json.JSONObject; 将字符串转化为JSONArray JSONArray jsonArray = new ...
- mybatis处理map参数取值
mybatis处理map参数取值 <select id="selectOne" parameterType="java.util.HashMap" res ...
- Mybatis 传入数组参数
记录使用Mybatis遇到的问题 1.在使用mybatis传入数组或者list集合类型的参数时 如果要用自己的参数名必须要加@param.如下` 在mybatis中如果传入数组类型的参数.myabti ...
- ibatis mybatis传入List参数
--ibatis <select id="getWzlb" parameterClass="map" resultClass="java.uti ...
- Mybatis传入参数类型为Map
转载自 Mybatis传入参数类型为Map mybatis更新sql语句: <update id="publishT00_notice" parameterType=&q ...
- MyBatis传入参数为list、数组、map写法
1.foreach简单介绍: foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合. foreach元素的属性主要有item,index,collection,open,sep ...
- mybatis传入参数为map时如何在mapper.xml中获取
有时在开发中难免会遇到传入的参数为map类型的时候, map的key为数据库中的主键或者其他的唯一字段, value为需要进行插入的值,在mybaits的XML文件中进行遍历取出map参数中的值, 有 ...
最新文章
- 让机器学习自动帮我们建模,这4个Python库能让你大开眼界
- FirefoxLinux下的网银离我们不远了
- 成功解决mod = importlib.util.module_from_spec(spec)ImportError: DLL load failed: 找不到指定的程序。
- python根据BM25实现文本检索
- C++之指针探究(十九):typedef和const指针
- Windows音频编程:Win32 Wave API 的使用
- 零基础带你学习MySQL—Select语句以及注意事项(十)
- android UDP通信
- adb工具包的安装和使用(Windows)
- JavaScript---BOM和DOM
- 条形码生成软件如何批量生成ISBN条码
- Kubernetes第二曲 集群部署(Etcd+Flannel)
- 高端差分器电流检测电路
- 操作系统位数与数据字节数的关系
- 如何在 Facebook 上实现高效社交营销
- 【CAT魔改】CAT-LOCAL项目的诞生
- 1.20 JQuery3:动画和特效
- Java期末复习题详解
- linux软件包下载解压安装
- pdf分割的工具使用的简单方法