MySQL数据库的javaJDBC存储过程;

/*
 * 存放工具包
 */
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;


public class JDBCUtils {
private static Connection connection = null;//设置的全局变量的链接过程
private static ResultSet resultSet=null;//设置的全局变量查找结果返回的值

private static Statement statement=null;//用于在已经建立数据库连接的基础上,向数据库发送要执行的SQL语句。

private  static String url = "jdbc:mysql://localhost:3306/mysql0323";//mysql0323为链接到的数据库名字;3306为数据库端口号,为默认值;localhost为链接数据库的地址默认为本机,也可以使用别人的IP号码那样的话需要知道别人的登录密码;
private  static String user = "root";//数据库的使用者我自己的设置为root
private  static String password = "root";//数据库的登录密码自己设置的密码
//获取数据库连接
public static Connection getConnection(){
//第一步:加载数据库驱动,一般情况下不再使用加载了,因为系统会自动加载。
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
} catch (InstantiationException | IllegalAccessException | ClassNotFoundException e1) {
e1.printStackTrace();
}
//第二步:获取连接
try {
connection = DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
e.printStackTrace();
}
return connection;
}
//关闭数据库连接生成的一个静态方法
public static void close(ResultSet resultSet,Statement statement,Connection connection){
try {
if (resultSet != null) {
resultSet.close();
}
if (statement != null) {
statement.close();
}
if (connection != null) {
connection.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}


}



/**
 * jdbc完成存储过程
 */
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Types;


public class TestDemo {
public static void main(String[] args) {
//获取数据连接对象
Connection connection=null;
connection=JDBCUtils.getConnection();
//获取一个调用存储过程对象
CallableStatement call=null;
String sql="{call pro_test(?,?,?)}";
try {
call=connection.prepareCall(sql);
call.setInt(1, 20);
call.setInt(3, 30);
//执行存储过程前,必须给所有的out类型的参数添加注册信息
// call.registerOutParameter(1, Types.INTEGER);
call.registerOutParameter(2, Types.INTEGER);
call.registerOutParameter(3, Types.INTEGER);
//执行调用存储过程方法
call.executeUpdate();
//查看存储过程中的三个参数;非out类型的参数无法获取,只能是out类型的参数
// int a=call.getInt(1);
int b=call.getInt(2);
int c=call.getInt(3);
System.out.println(b+"::"+c);
} catch (SQLException e) {
e.printStackTrace();
}finally {//调用工具包中的关闭方法
JDBCUtils.close(null, null, connection);
}
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值