Mybatis报错“Invalid bound statement”,如何快速定位到调用delete语句的代码?
技术百科
心靈之曲
发布时间:2024-12-01
浏览: 次 如何通过提示定位到调用 delete 的代码?
在本例中,控制台输出指出了一个 invalid bound statement (not found) 异常,它表明 mybatis 找不到名为 delete 的绑定语句。
定位调用 delete 的代码:
异常信息中最有用的部分是:
at com.mooc.house.biz.service.mailservice$1.onremoval(mailservice.java:34)
这表明 delete 正在由 mailservice.java 中的 onremoval 方法调用。
分析代码:
mailservice.java 中的 enable 方法使用了 guava 的缓存,并指定了在移除缓存项时调用 onremoval 的移除侦听器。
private final Cacheregis terCache = CacheBuilder.newBuilder() .maximumSize(100) .expireAfterAccess(15, TimeUnit.MINUTES) .removalListener(new RemovalListener
() { @Override public void onRemoval(RemovalNotification notification) { userMapper.delete(notification.getValue()); } }) .build();
当缓存项被移除时,移除侦听器回调 usermapper.delete(notification.getvalue()),这会删除与该缓存项关联的记录。
因此,在你的情况下,似乎是 registercache.invalidate(key) 使缓存无效并导致 onremoval 被调用,最终触发了对 usermapper.delete 的调用,从而删除了用户记录。
# ai
# 使用了
# 移除
# 找不到
# 情况下
# 绑定
# 这会
# 与该
# Java
# access
# 回调
# delete
# 本例
# 似乎是
# guava
# mybatis
相关栏目:
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
AI推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
SEO优化<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
技术百科<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
谷歌推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
百度推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
网络营销<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
案例网站<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
精选文章<?muma echo $count; ?>
】
相关推荐
- Go 中 defer 在 goroutine 内部
- Python包结构设计_大型项目组织解析【指导】
- SAX解析器是什么,它与DOM在处理大型XML文件
- 如何更改Windows资源管理器的默认启动位置?(
- MAC怎么截图并快速编辑_MAC自带截图快捷键与标
- MAC怎么设置程序窗口永远最前_MAC窗口置顶插件
- C#如何使用XPathNavigator高效查询X
- Mac如何查看电池健康百分比_Mac系统信息电源检
- c++ std::atomic如何保证原子性 c+
- 如何在 Windows 11 中使用 AlomWa
- MAC怎么解压RAR格式文件_MAC第三方解压工具
- php下载安装后swoole扩展怎么安装_异步框架
- Win10怎样安装Excel数据分析工具_Win1
- Win11如何设置文件权限 Win11 NTFS文
- 如何使用Golang进行HTTP服务性能测试_测量
- 如何在Golang中处理数据库事务错误_回滚和日志
- c++输入输出流 c++ cin与cout格式化输
- PHP cURL GET请求:正确设置认证与自定义
- Win11怎么更改任务栏位置_修改注册表将Win1
- Win10系统怎么查看显卡温度_Win10任务管理
- Win11怎么恢复误删照片_Win11数据恢复工具
- C#如何在一个XML文件中查找并替换文本内容
- 如何使用Golang反射将map转换为struct
- c++的STL算法库find怎么用 在容器中查找指
- Mac如何使用听写功能_Mac语音输入打字【效率技
- 如何使用Golang管理跨项目依赖_Golang多
- Windows10如何更改任务栏高度_Win10解
- c++怎么用jemalloc c++替换默认内存分
- c++中如何使用虚函数实现多态_c++多态性实现原
- 如何高效删除 NumPy 二维数组中所有元素相同的
- 如何使用Golang table-driven f
- VSC怎样在VSC中调试PHPAPI_接口调试技巧
- Python函数参数高级用法_默认值与可变参数解析
- Win11怎么关闭搜索历史_Win11清除设备上的
- 如何在Golang中使用log包输出不同级别日志_
- Go 中的 := 运算符:类型推导机制与使用边界详
- Win11怎么关闭小组件_Win11禁用任务栏天气
- Mac怎么查看活动监视器_理解Mac进程和资源占用
- Win11怎么开启远程桌面_Win11系统远程桌面
- 如何在 ACF 中正确更新嵌套多层 Group 字
- Win11怎么硬盘分区 Win11新建磁盘分区详细
- php串口通信波特率怎么选_根据硬件手册设置正确波
- Win11怎么制作U盘启动盘_Win11原版系统安
- LINUX如何开放防火墙端口_Linux fire
- Win11怎么关闭自动更新 Win11永久关闭系统
- 如何使用正则表达式批量替换重复的“-”模式为固定字
- php订单日志怎么按状态筛选_php筛选不同状态订
- 如何在Golang中实现邮件发送功能_Golang
- Windows10如何更改日期格式_Win10区域
- 如何使用Golang捕获测试日志_Golang t

terCache = CacheBuilder.newBuilder()
.maximumSize(100)
.expireAfterAccess(15, TimeUnit.MINUTES)
.removalListener(new RemovalListener
QQ客服