import java.sql.CallableStatement; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Types; /** * * Title: Demo04 * * Description: * JDBC调用存储过程 * CallableStatement 继承PreparedStatement,可以预处理 * @version v0.01 * * @author ByChai * * @date 2020年8月24日 下午3:24:37 * * */ public class Demo04 { public static void main(String[] args) { Connection connection=null; CallableStatement csmt=null; try { Class.forName("com.mysql.cj.jdbc.Driver"); connection=DriverManager.getConnection("jdbc:mysql://localhost:3306/teach?serverTimezone=Asia/Shanghai", "root", "root"); csmt=connection.prepareCall("call pro1(?,?)"); //设置参数 csmt.setInt(1, 8); csmt.registerOutParameter(2, Types.VARCHAR); //执行 csmt.execute(); String week=csmt.getString(2);//获取输出参数 System.out.println(week); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { //关闭资源 if(csmt!=null) { try { csmt.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if(connection!=null) { try { connection.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } }