java调用数据库数据_java代码调用数据库存储过程

packagetestSpring;importjava.sql.CallableStatement;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importoracle.jdbc.OracleTypes;public classTest1 {public static voidmain(String[] args) {

Connection con=null;

ResultSet res=null;

CallableStatement call=null;try{

Class.forName("oracle.jdbc.driver.OracleDriver");

String url="jdbc:oracle:thin:@192.168.224.87:1523:orcl";

String userName="gb_report";

String passWord="gb_report123$";

System.out.println("连接数据库成功!");

con=DriverManager.getConnection(url,userName,passWord);

call=con.prepareCall("{call P_COMMON.QUERY_PROVINCE_PAGE(?,?,?,?,?,?,?,?,?,?,?)}");//P_COMMON为包名,QUERY_PROVINCE_PAGE为存储过程名,?代表参数

call.registerOutParameter(4, OracleTypes.NUMBER);//参数下标为4及返回值的类型

call.registerOutParameter(5, OracleTypes.NUMBER);

call.registerOutParameter(7, OracleTypes.NUMBER);

call.registerOutParameter(8, OracleTypes.INTEGER);

call.registerOutParameter(9, OracleTypes.VARCHAR);

call.registerOutParameter(10,OracleTypes.VARCHAR);

call.registerOutParameter(11,OracleTypes.CURSOR);//注意这里返回值类型为游标

call.setString(1, "");//参数下标为1,输入参数类型为varchar(java对应string)

call.setString(2, "");

call.setString(3, "");

call.setString(6, "");//执行

call.execute();

res= (ResultSet)call.getObject(11);//接受参数下标为11的返回值为游标类型,用ResultSet

while(res.next()){

System.out.println("行政ID:"+res.getString("ITEMID")+";省份名称:"+res.getString("ITEMNAME")+";");

}

}catch(Exception e) {

e.printStackTrace();

}finally{try{if(res!=null){

res.close();

}else if(call!=null){

call.close();

}else if (con!=null) {

con.close();

}

System.out.println("关闭连接!");

}catch(Exception e2) {

e2.printStackTrace();

}

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值