MyBatis中万能的Map

目录

一 点睛

二 实战


一 点睛

如果我们的实体类或者数据库中的表,字段或参数过多,可以考虑使用Map。

Map传递参数,直接在sql中取出key即可。

void insertUser2(Map<String, Object> map);
parameterType="map"

对象传递参数,直接在sql中取对象的属性即可。

void insertUser(User user);
parameterType="com.cakin.pojo.User"

只有一个基本类型参数的情况,可以不写 parameterType

void deleteUser(int id);
// XML中,下面这个也可不写
parameterType="int"  

多个参数,用Map。

二 实战

1 Mapper层核心代码

/**
* 功能描述:通过Map插入用户数据
*
* @author cakin
* @date 2020/6/16
* @param map 用户数据存在于map中
*/
void insertUser2(Map<String, Object> map);

2 XML核心代码

<!--通过map插入,字段的名字就可以随便取了-->
<insert id="insertUser2" parameterType="map">
    insert into user(id,name,pwd) values (#{userId},#{userName},#{password})
</insert>

3 测试代码

@Test
public void insertUser2() {
    // 第一步,获得sqlSession
    SqlSession sqlSession = MybatisUtil.getSqlSession();
    // 执行SQL
    UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
    Map<String, Object> map = new HashMap<String, Object>();
    map.put("userId", 5);
    map.put("userName", "xiaohua");
    map.put("password", "123456");
    userMapper.insertUser2(map);

    // 注意这里一定要提交
    sqlSession.commit();

    // 关闭session
    sqlSession.close();
}

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值