First I defined a student table in the MySQL test database:
CREATE TABLE Student4 (
ID int PRIMARY KEY,
Sanme Char (5)
);
Insert several data for testing:
Inset into student values (1, ' Mayi ');
Inset into student values (2, ' Mayi ');
Inset into student values (3, ' Mayi ');
To establish a stored procedure:
In type:
Delimiter//
CREATE PROCEDURE demo_in (in p_in int)
Begin
Select P_in;
Set p_in=2;
Select P_in;
End
//
delimiter;
Java Test Code:
CallableStatement callstatement = Conn.preparecall ("Call demo_in (?)"); /conn, database connection
Callstatement.setint (1, 1);//Set the first parameter
Callstatement.execute ();//execution
Conn.close ();//close connection
Out type:
Delimiter//
CREATE PROCEDURE Demo_out (out s int)
Begin
Select COUNT (*) into s from student;
End
//
delimiter;
Java Test Code:
CallableStatement callstatement = Conn.preparecall ("Call Demo_out (?)");
Callstatement.registeroutparameter (1, Java.sql.Types.INTEGER);//The Out-type parameter type for registering stored procedures, which must be registered before use;
Callstatement.execute ();//execution
System.out.println (Callstatement.getint (1));//Get the output parameters of the stored procedure
Conn.close ();//close connection
Java calls to MySQL stored procedures (simple example)