Mycat1.6系列使用MySQL后端存储过程

测试版本:mycat 1.6.73

dn4的配置 
localhost4是mysql数据源

db1中的存储过程

DELIMITER &&
    CREATE PROCEDURE p_test2(OUT p_id INT)
        BEGIN
            SET p_id = 22;    -- 将 p_id 赋值为 22 
        END&&
DELIMITER ;

 

JDBC使用存储过程的方法

     connection.setAutoCommit(false);
 try (Statement statement = connection.createStatement()) {
 statement.executeUpdate("/* mycat:dataNode = dn4 */SET @P_id = 100;\n");
statement.executeUpdate("/* mycat:dataNode = dn4 */CALL p_test2(@p_id);");
ResultSet resultSet = statement.executeQuery("/* mycat:dataNode = dn4 */SELECT @p_id AS c;");
boolean next = resultSet.next();
Object object = resultSet.getObject(1);//22
}
//提交事务?

如果出现后端连接提早释放可以开启严格事务

 

你可能感兴趣的:(Mycat)