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();