dbutils 调用 mysql 存储过程

dbutils 调用 mysql 存储过程

无参无返回值存储过程

创建存储过程

CREATE DEFINER=`root`@`localhost` PROCEDURE `NewProc`()
BEGIN
    update Xxx set x = '';
END

sql 调用

call NewProc()

dbutils 调用

new QueryRunner().update(xxx.getConnection(),"call NewProc");

有参数无返回值存储过程

创建存储过程

CREATE DEFINER=`root`@`localhost` PROCEDURE `NewProc`(IN `uid` int)
BEGIN
    update Xxx set x = '' where id = uid;
END

sql 调用

call NewProc(1)

dbutils 调用

CallableStatement cs = conn.prepareCall("call NewProc(?)");
new QueryRunner().fillStatement(cs,1);

有参数有返回值

创建存储过程

CREATE DEFINER=`root`@`localhost` PROCEDURE `NewProc`(IN `uid` int,OUT `result` int)
BEGIN
    set result = (select id from task where id = uid);
END

sql 调用

set @result = '';
call NewProc(1,@result);
select @result;

dbutils 调用

OutParameter<Integer> op = new OutParameter<Integer>(Types.INTEGER, Integer.class);
qr.execute(conn, "call NewProc(?,?)", 1, op);
int result = op.getValue();

猜你喜欢

转载自blog.csdn.net/m0_37659871/article/details/81544119