mycat mybatis 调用存储过程&多语句操作
来源:互联网 发布:php 前端 后端 编辑:程序博客网 时间:2024/06/06 11:36
mycat结合mybatis调用存储过程
mycat调用存储过程,项目示例,已经测试通过的。
<select id="callArchiveData" parameterType="com.hundsun.cloudtrade.match.dto.req.CallArivateDataReq" resultType="com.hundsun.cloudtrade.match.dto.req.CallArivateDataReq"> <![CDATA[ /*!mycat:sql=SELECT 1 FROM tb_day_transaction WHERE firm_account = ${firm_account} */ {CALL ARCHIVE_DATA( #{firm_account,mode=IN,jdbcType=INTEGER}, #{hold_date,mode=IN,jdbcType=INTEGER}, @p_error_no, @p_error_info )}; SELECT @p_error_no as p_error_no,@p_error_info as p_error_info; ]]> </select>注意点:
1.没有callable
2.前面的 /*!mycat:sql=SELECT 1 FROM tb_day_transaction WHERE firm_account = ${firm_account} */ 参考mycat的注解,官网的学习文档里就有
3.mycat 有些语句是不支持的,比如 insert into …… select ……,具体可以网上找。使用存储过程可以避免这点
4.mycat 的注解就是告诉 mycat 后面的语句是在哪个 db 数据库进行执行,所以要求存储过程的内容一定得是同一个数据库里的数据进行的操作
mycat多语句操作
无意间测试发现的问题:mybatis 支持多语句同时操作数据库,比如:
<update id="clearData" parameterType="com.hundsun.cloudtrade.match.dto.req.ClearDataReq"><![CDATA[DELETE FROM tb_day_transaction WHERE firm_account = #{firm_account};UPDATE tb_conf_tradedays SET init_flag=0,clear_flag=0 WHERE firm_account = 0;]]></update>
但是,如果使用 mycat ,在实际的项目中表 tb_day_transaction 和表 tb_conf_tradedays 不在同一个数据库的话,会出现问题
在执行了第一条语句 DELETE FROM tb_day_transaction WHERE firm_account = #{firm_account}; 后,
mycat 还是会在同一个数据库下,执行 UPDATE tb_conf_tradedays SET init_flag=0,clear_flag=0 WHERE firm_account = 0;
可以拆开,分成两个 id 的 sql 来写
阅读全文
0 0
- mycat mybatis 调用存储过程&多语句操作
- Mybatis调用存储过程返回查询语句
- MyBatis调用存储过程
- mybatis调用存储过程
- mybatis调用存储过程
- mybatis调用存储过程
- mybatis调用存储过程
- Mybatis调用存储过程
- mybatis调用存储过程
- mybatis调用存储过程
- mybatis调用存储过程
- mybatis调用存储过程
- MyBatis调用存储过程
- mybatis 调用存储过程
- Mybatis调用存储过程
- MyBatis调用存储过程
- mybatis调用存储过程
- mybatis存储过程调用
- 位运算的巧妙应用
- see graph of tensorbord
- 要提高SQL查询效率where语句条件的先后次序应如何写
- 2017CCPC哈尔滨赛区总结
- Java中使用Jedis操作Redis
- mycat mybatis 调用存储过程&多语句操作
- 《集体智慧编程》第五章 优化
- react-router-dom笔记
- 3.3 Handler消息传递机制浅析
- c# 接口
- 解决Scrollview嵌套Recyclerview,Gridview等出现内容显示不全等为
- 阿里云服务器同步MySQL数据库
- MySQL日期时间函数大全
- 不使用jsp来展示页面