多数据源调用mysql存储过程
来源:互联网 发布:python 高斯曲线拟合 编辑:程序博客网 时间:2024/06/03 11:09
我们在实际的开发过程中可能会或多或少的访问多个数据源,比如笔者开发的时候是采用mybatis+mysql,此时有两个比较好的方法跨数据源访问存储过程。
1、基于mybaitis这个持久性框架的特性,高一点的版本提供了多数据源的访问,可以利用面向切面编程思想来自由切换数据源,具体的配置可以参考,多数据源的配置。访问存储过程像一般访问即可。
如
<!-- 利用存储过程批量插入数据 --><select id="addxxxByProcedure" parameterType="java.util.Map" statementType="CALLABLE" >{CALL test_db.insertBatchCoupon( #{v_pid,jdbcType=VARCHAR,mode=IN},#{v_eid,jdbcType=VARCHAR,mode=IN}, #{v_uid,jdbcType=VARCHAR,mode=IN}, #{v_start,jdbcType=INTEGER,mode=IN}, #{v_pos,jdbcType=INTEGER,mode=IN}) } </select>
xml配置
// 注解型存储过程@Select("CALL test_db.insertxxx(#{v_eid},#{v_pid},#{v_uid},#{v_start}, #{v_pos})")Map<Object, Object> addxxxByProcedure(@Param("v_eid") String v_eid, @Param("v_pid") String v_pid,@Param("v_uid") String v_uid, @Param("v_start") Integer v_start, @Param("v_pos") Integer v_pos);
注解型访问
2、第一种虽然能够解决一般性需求,但是随着业务量的增大,系统数据库的数据量会变得更加庞大,维护难度加大,此时往往都需要对数据库进行瘦身,一般会考虑垂直分库和水平分库,这是我们会选择一个辅助插件来完成这些工作--mycat(不熟悉的同学可以去官网下载新手手册来熟悉他的规则,官网请点击此处),使用mycat来访问多数据源,需要一个标志来引导mycat定位哪一个数据源。比如
<!-- 利用存储过程批量插入数据 --><select id="addxxxByProcedure" parameterType="java.util.Map" statementType="CALLABLE" > -->/*!mycat: sql=select 1 from test;*/ {CALL test.insertBatchCoupon( #{v_pid,jdbcType=VARCHAR,mode=IN}, #{v_eid,jdbcType=VARCHAR,mode=IN}, #{v_uid,jdbcType=VARCHAR,mode=IN}, #{v_start,jdbcType=INTEGER,mode=IN}, #{v_pos,jdbcType=INTEGER,mode=IN}) } </select>
xml配置
// 注解型存储过程@Select("/*!mycat: sql=select 1 from test;*/ CALL trc_coupon_db.insertxxx(#{v_eid},#{v_pid},#{v_uid},#{v_start}, #{v_pos})")Map<Object, Object> addxxxProcedure(@Param("v_eid") String v_eid, @Param("v_pid") String v_pid,@Param("v_uid") String v_uid, @Param("v_start") Integer v_start, @Param("v_pos") Integer v_pos);
注解型配置
1 0
- 多数据源调用mysql存储过程
- mysql存储过程调用
- MySQL++调用存储过程
- 调用mysql存储过程
- mysql 调用存储过程
- MySQL调用存储过程
- PHP调用MySQL存储过程
- php调用mysql 存储过程
- ibatis 调用mysql 存储过程
- mysql event调用存储过程
- JAVA调用MYSQL存储过程
- MySQL存储过程相互调用
- MySQL存储过程递归调用
- mysql多次调用存储过程
- C#调用MySQL存储过程
- mysql存储过程及调用
- Spring调用MySql存储过程
- php调用mysql存储过程
- JAVA不可变类(immutable)机制与String的不可变性
- AndroidMainfest.xml详解——<provider>
- 快过年了 宝妈们是不是准备宝贝的东西
- 关于oc与swift混编问题
- Spring AOP 实现读写分离(MySQL实现主从复制)
- 多数据源调用mysql存储过程
- 自定义Drawable
- ASTM校验和计算与消息返回--根据消息类型切割
- 安卓碎片化新解决方案,Android2.2退役
- 45 个非常有用的 Oracle 查询语句
- Spring MVC的@RequestMapping注解类的params参数用法示例
- web之打开新标签页
- SharedPreferences进行数据存储
- [Hadoop]MapReduce多路径输入与多个输入