Mybatis中可以在 select 标签中写 update语句,并且还能执行成功?

问题描述

这里记录一个问题:
就是 mybatis 中,因为自己的粗心在select中使用了 update 语句,但是系统却并没有报错,并且执行成功。
数据库中的数据也修改完成了。

实验

然后我就对这个问题进行了一些实验,包括在 delete 标签中使用 update 语句,在 insert 标签中使用 update 语句 等等。
实验结果是,这些语句全都顺利执行,没有异常产生

结论

在 mybatis 中,标签的定义并不意味标签中的语句一定与标签对应。标签的作用在于,让 SqlSession 类去识别相应的数据库操作语句,做出相应的关联操作。

探究

我现在只知道,如果在 select 标签中写 update 语句,Mybatis中的缓存不会刷新。此时再次查询,将会查询到缓存中的数据。
原理需要后序的学习才能回答。暂时只有这种程度了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值