mysql创建函数
delimiter $
create function func_sum(num1 int,num2 int) returns int
begin
declare res int;
set res=num1+num2;
return res;
end$
delimiter ;
java调用mysql函数
public static void main(String[] args) throws Exception {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://192.168.**.***:3306/mydemo","root","ok");
PreparedStatement pstat = conn.prepareStatement("select func_sum(?,?) as res");
pstat.setInt(1,20);
pstat.setInt(2,230);
ResultSet rs = pstat.executeQuery();
while (rs.next()){
System.out.println(rs.getInt("res"));
}
conn.close();
}
mysql创建存储过程
delimiter $
create procedure proc_sum(in num1 integer,in num2 integer,out he integer)
begin
set he=num1+num2;
end$
delimiter ;
Java调用mysql存储过程
public static void main(String[] args) throws Exception {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://192.168.**.***:3306/mydemo","root","ok");
CallableStatement cs = conn.prepareCall("{call proc_sum(?,?,?)}");
cs.setInt(1,20);
cs.setInt(2,30);
cs.registerOutParameter(3, Types.INTEGER);
cs.execute();
System.out.println(cs.getInt(3));
conn.close();
}