Mybatis调用sqlserver2008存储过程
2016-05-09 14:42
211 查看
今天做工程时,用户提到了一个需求,要求对项目表(PM)中的项目填加删除功能,
不但要对主表删除,还要对子表1、子表2进行级联删除,在数据库没有使用级联删除约束,我用的数据库是sqlserver2005,从网上搜了几个方法,说是用
<delete id=”deleteById”>
begin
语句1;
语句2;~~~~~
end
</delete>
我一试,呵呵,果然不行,有可能在mysql中可以这样写,不知道为什么mybatis对sqlserver这么不友好,还能不能一起快乐的玩耍了;你让隔壁老王怎么看;你让对面测试MM怎么看(醒醒吧,大哥,别睡了),肿么办,时间紧,任务重,标准高,要求严;好吧,还有就是再写几个方法供在action中调用。
delete方法1;
delete方法2;
delete方法3;
~~~~~
感觉这种方法也有点麻烦,写个存储过程吧
<delete id=”deleteById”>
exec proc(存储过程名) param1, param2~~~
</delete>
最后应该可以了吧,谁知又出现了莫名的错误,提示执行错误;纳尼,不带这么坑的吧,打印sql语句,执行没错;这是哪里的错误呢,最后仔细一看好像应该这么写吧;
<select id=”deleteById”>
exec proc(存储过程名) param1, param2~~~
</ select >
最后完美收工!
不但要对主表删除,还要对子表1、子表2进行级联删除,在数据库没有使用级联删除约束,我用的数据库是sqlserver2005,从网上搜了几个方法,说是用
<delete id=”deleteById”>
begin
语句1;
语句2;~~~~~
end
</delete>
我一试,呵呵,果然不行,有可能在mysql中可以这样写,不知道为什么mybatis对sqlserver这么不友好,还能不能一起快乐的玩耍了;你让隔壁老王怎么看;你让对面测试MM怎么看(醒醒吧,大哥,别睡了),肿么办,时间紧,任务重,标准高,要求严;好吧,还有就是再写几个方法供在action中调用。
delete方法1;
delete方法2;
delete方法3;
~~~~~
感觉这种方法也有点麻烦,写个存储过程吧
<delete id=”deleteById”>
exec proc(存储过程名) param1, param2~~~
</delete>
最后应该可以了吧,谁知又出现了莫名的错误,提示执行错误;纳尼,不带这么坑的吧,打印sql语句,执行没错;这是哪里的错误呢,最后仔细一看好像应该这么写吧;
<select id=”deleteById”>
exec proc(存储过程名) param1, param2~~~
</ select >
最后完美收工!
相关文章推荐
- plsql常用设置与技巧
- Linux下安装memcached
- Linux下安装memcached
- libmemcached安装及简单例子
- libmemcached安装及简单例子
- MySQL 分区
- sqlserver中分区函数 partition by的用法
- MySql笔记-事务处理
- 数据库2.0改进e-r图
- Oracle insert hang引发的行锁等待
- [No00008F]PLSQL自动登录,记住用户名密码&日常使用技巧
- oracle insert乱码问题
- MySQL 几个比较重要的用法总结
- SQL注入问题将传入的参数改为问号
- Redis多实例启动脚本
- Redis3.0常用命令列表
- SQL优化实战:外层查询条件放到内层查询中(predicate push down)
- ERP小型集团化——重点功能及二次开发配置——自定义业务
- Redis Essentials 读书笔记 - 第九章: Redis Cluster and Redis Sentinel (Collective Intelligence)
- Oracle - 常用函数