EOS:There is no statement named XXX in this SqlMap问题解决方案

作为面向服务的一款开发工具,EOS具有敏捷开发的优势。EOS中的命名SQL的底层技术是ibatis,在使用时,我们只需要在创建完命名SQL后保存,不需要像Mybatis一样去配置mapper,直接可以在代码中调用。也就是说,EOS会自动管理命名SQL。

但是,有时候在启动服务器后更改命名SQL(新增或者更改SQL),保存,会导致原来ok的SQL被提示不存在(没声明)。

1. 问题日志:
com.primeton.das.sql.impl.ibatis.sqlmap.client.SqlMapException: There is no statement named XX in this SqlMap.
报错大致意思:在EOS中找不到叫做"XXX"的SQL语句的声明(statement)。

2. 原因分析:
(1) EOS的命名SQL中确实没有声明该SQL语句
(2) EOS热更新失败(本地服务器启动后去更改命名SQL,然后保存,EOS更新失败),致使原来ok的SQL现在去调用报如上错误
(3) EOS编译出错

3. 解决方案(针对SQL语句存在)
(1) 找到该命名SQL所在的包,然后点击包名,右击选中弹出框中的"清除后再部署";
(2) 第一步没见效,点击“项目”->“清理”,然后新建一个命名SQL,将原来的SQL 复制过来(推荐);或者,更新classpath
(3) 第二步没见效,删除当前EOS构件包,关闭EOS。将工作空间所在文件夹里面的文件清空,打开EOS,然后重新导入代码(会重新编译)
(4) 如果以上操作还没用,就猜测是否EOS出了问题。测试一下,试试其他的命名SQL是否有效,如果全部没效(原来ok的调用报错),就考虑重装吧(不推荐)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值