【Mybatis】万能的map

【Mybatis】万能的map

一、搭建环境

基础环境搭建+pojo等都可参考Mybatis项目实战一文,地址:https://blog.csdn.net/junR_980218/article/details/124145948,而本文主要讲解其中Map的使用。

二、万能的Map

1、dao层中添加接口

int  addUser(Map<String,Object>,map);

2、xml配置文件中编写sql语句

<insert id="addUser1" parameterType="map">
    insert into mybatis.user(id,name,pwd)
    values(#{userId},#{userName},#{pwd});
</insert>

这里与普通的(非map形式)插入语句insert做一个对比

<insert id="addUser1" parameterType="User">
    insert into mybatis.user(id,name,pwd)
    values(#{id},#{name},#{pwd});
</insert>

注意:
        从上面两个传入语句可以看出,非map形式的插入语句,参数是User对象,所以values后面的占位符必须与User对象中属性的字段一致,而且,对象拥有的全部字段一个不少都必须写出来,而使用map形式后的插入语句,values后面的占位符可以任意,插入的时候只要符合数据库字段的规则就行,不必要非要一致,并且如果只插入其中几个字段的话,可以不将字段全部写出,只写出需要插入的字段即可。

3、测试

@Test //插入学生信息
    public void addStudent1(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        StudentMapper mapper = sqlSession.getMapper(StudentMapper.class);

        UserMapper mapper =sqlSession.getMapper(UserMapper.class);
        Map<String,Object> map=new HashMap<String,Object>();
        
        //这里可以只插入部分字段的值,不需要插入的可以直接不写
        map.put("userId",5);
        map.put("userName","Hello");
        map.put("password","123456");
        mapper.addUser1(map);
        sqlSession.close();
    }

万能的map,平时不怎么用,但是在企业中用的非常多,可以在对象的属性值很多的时候,直接插入或者更新其中部分字段字段的值,而不必要将那么多的属性值全部罗列,非常的方便。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值