Mybatis中参数为map的使用
1 万能的map使用场景
实体类或数据库中的表字段或参数过多时,应当考虑使用map。
2 代码展示
1.1 接口
int addUser2(Map<String,Object> map);
1.2 实现
<insert id="addUser2" parameterType="map">
insert into mybatis.user(id, name, pwd) value (#{userId},#{userName},#{userPassword});
</insert>
1.3 测试
@Test
public void testAddUser2() {
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserDao userDao = sqlSession.getMapper(UserDao.class);
Map<String, Object> map = new HashMap<>();
map.put("userId",2);
map.put("userName","小王");
map.put("userPassword","123456");
userDao.addUser2(map);
sqlSession.commit();
sqlSession.close();
}
3 传递属性的区别
- Map传递参数,直接在sql中取出key即可!【 parameterType=“map”】
- 对象传递属性,直接在ssql总取出对象的属性即可!【 parameterType=“com.ex.pojo.User”】
- 只有一个基本类型参数的情况下,可以直接在sql中取到!(只有一个基本类型的参数时可以不写)
|