MyBatis基础篇之参数处理---Map参数

一、前言

如果多个参数不是业务模型中的数据,没有对应的POJO,为了方便,我们直接封装成Map传入。#{key}取出map中对应的值。

二、案例

♦参考<<MyBatis基础篇之参数处理—POJO参数>>的代码

♦在UserMapper.java增加查询方法findUserByMapParam,如下:

/**
 * 封装Map作为传递参数的载体
* @param user
* @return
 */
public User findUserByMapParam(Map<String,Object> map);

♦UserMapper.xml文件修改如下:

<select id="findUserByMapParam"  parameterType="com.queen.mybatis.bean.User"  resultType="com.queen.mybatis.bean.User">
	select id, loginId, userName, role, note from t_user where id = #{id}
</select>

♦增加测试方法testMapParam如下:

@Test
public void testMapParam() throws IOException {
	SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
	SqlSession openSession = sqlSessionFactory.openSession();
	try {
		UserMapper mapper = openSession.getMapper(UserMapper.class);
		Map<String,Object> map =new HashMap<String,Object>();
		map.put("id", 1);
		User user = mapper.findUserByMapParam(map);
		System.out.println(user);
	} finally {
		openSession.close();
	}
}

♦测试查询功能,控制台打印如下:

2017-08-05 09:05:00,041 [main] [com.queen.mybatis.mapper.UserMapper.findUserByMapParam]-[DEBUG] ==>  Preparing: select id, loginId, userName, role, note from t_user where id = ? 
2017-08-05 09:05:00,108 [main] [com.queen.mybatis.mapper.UserMapper.findUserByMapParam]-[DEBUG] ==> Parameters: 1(Integer)
2017-08-05 09:05:00,158 [main] [com.queen.mybatis.mapper.UserMapper.findUserByMapParam]-[DEBUG] <==      Total: 1
User [id=1, loginId=queen, userName=奎恩, role=海贼王副把手, note=专门负责提鞋的。。。]

 至此,我们关于MyBatis基础篇之参数处理—Map参数的处理介绍完毕。我们下一节将介绍如何通过Map的方式来传递参数。

博客地址:http://www.marsitman.com/mybatis/mybatis-map-param.html
版权声明:本文为博主原创文章,允许转载,但转载必须标明出处。

 

 

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!






文件名称:MyBatis基础篇之参数处理—Map参数

更新日期:2017-08-05

作者信息:榕瑾

提示:下载后请检查MD5值,欢迎捐赠本站以及广告合作!

下载地址:点击下载 【文件大小:14 KB】

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注