Mybatis学习-关于Map的应用
设想一个这样的情景:
如果一个类中有上百个属性,而我们在进行插入修改的时候,只需要对个别属性进行修改,那么显然构造一个类对象来传递数据显得有些多余,此时可以引入Map类,将需要修改传递的数据构造成“键-值”对的形式封装在Map里来进行传递。
举个栗子:
- 首先在UserMapper接口中添加一个新的接口
//新增一个用户方法二:通过Map传值
int addUser2(Map<String,Object> map);
- 在对应的xml文件文件中写上相应的SQL标签
<!--这里井号中填入的是map的键-->
<insert id="addUser2" parameterType="map">insert into user(id,name,password) values(#{userId},#{userName},#{userPassword})
</insert>
- 测试
@Test
public void test5(){SqlSession sqlSession = MybatisUtils.getSqlSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);Map<String, Object> map = new HashMap<>();map.put("userId",6);map.put("userName","零零柒");map.put("userPassword","3535235");mapper.addUser2(map);sqlSession.commit();sqlSession.close();
}
===================================================
关于Mapper.xml文件中,SQL语句取参命名问题:
Map传递参数时,直接在SQL中取出key即可(#{key})
对象传递参数时,直接在SQL中取对象的属性名(#{对象属性名})
只有一个基本参数类型时,可以直接在SQL中取到(#{参数名})
Mybatis学习-关于Map的应用相关推荐
- MyBatis多参数传递之Map方式示例——MyBatis学习笔记之十三
前面的文章介绍了MyBatis多参数传递的注解.参数默认命名等方式,今天介绍Map的方式.仍然以前面的分页查询教师信息的方法findTeacherByPage为例(示例源代码下载地址:http://d ...
- MyBatis学习:使用Map的方法传递参数
1.本篇博客的背景和目的 目前我本人正在学习MyBatis框架,在原先了解并且懵懵懂懂使用的基础上,开始系统正式的学习.阐述了MVC架构模式和三层架构,明晰了在Web项目中的普遍编码层次,回顾了JDB ...
- 事务中mybatis通过id查不到但是通过其他条件可以查到_40打卡 MyBatis 学习
第57次(mybatis) 学习主题:mybatis 学习目标: 1 掌握框架的概念 2 掌握mybatis环境搭建 对应视频: http://www.itbaizhan.cn/course/id/8 ...
- Mybatis学习总结二
Mybatis学习总结二 0.不需要修改的文件(在src下面) jdbc.properties文件 log4j.properties文件 SqlMapConfig.xml文件 1.高级结果映射 1.1 ...
- MyBatis学习总结一
Mybatis学习总结一 1.Mybatis介绍 2.Mybatis架构图 2.1.架构图的意义 2.1.1.JDBC编写 2.1.2.反思问题 2.2.Mybatis架构图 3.入门案例 3.1.下 ...
- MyBatis学习随记
1 Mybatis入门 1.1 单独使用jdbc编程问题总结 1.1.1 jdbc程序 Public static void main(String[] args) { Conn ...
- MyBatis多参数传递之混合方式——MyBatis学习笔记之十五
在本系列文章的<MyBatis多参数传递之Map方式示例>一文中,网友mashiguang提问如下的方法如何传递参数:public List findStudents(Map condit ...
- Java框架学习笔记--Mybatis学习
一.Mybatis学习 1.Mybatis简介 简介:Mybatis开源免费框架.原名叫iBatis,2010在googlecode,2013年迁移到github2 作用:数据访问层框架.底层是对JD ...
- Mybatis学习一
1.Mytatis入门程序 代码如下: package myBatis.cn.junit;import java.io.IOException; import java.io.InputStream ...
最新文章
- 【支付专区】之解析微信支付返回xml
- C++非递归合并排序的通用实现算法(附完整源码)
- 一键拼出你的微信好友图片墙!
- 脚本示例 (Reporting Services)Microsoft Visual Basic .NET
- spring mvc 中文乱码 post与get的方法解决
- python中issubset是什么_python3解释器执行 {2, 3, 4}.issubset({2, 3, 4})的结果为__。
- 已知函数func的C语言代码框架,第三章习题-ddg..doc
- html5编程技术代码,编程技术—CSS技术
- [Node.js]001.安装与环境配置
- JavaScript之WebSocket 技术
- excel软件php函数,excel的函数
- selenium反爬
- 初识AvalonDock
- IBM内存三技术:Chipkill、MPX、MM
- 小米也打价格战?会有1999的小米2吗?
- undefined reference to `vtkRenderingVolumeOpenGL_AutoInit_Destruct()',`vtkRenderingVolumeOpenGL_Auto
- BZOJ1051 HAOI2006受欢迎的牛
- 一个基于JDBC的通用DAO的设计参考(北大青鸟课程)
- Linux日常——端口
- hdu2853Assignment kM算法