JDBC学习中存储过程的调用
作者:网络转载 发布时间:[ 2012/11/7 10:11:41 ] 推荐标签:
在Java开发中我们在很多情况下都会用到存储过程,因此我们对于存储过程的掌握也应该是非常熟练的了,这里,我仅简单提及。
以前我们经常在命令窗口中以命令的形式来创建存储过程,并通过对存储过程的操作,来实现对数据库中数据的管理。
这样我们通过命令创建了一个带有三个参数的存储过程,再通过参数的设定如:
可以实现向数据库的相应表中插入数据了。
再如我们通过:
命令,创建了带有一个输入参数,两个输出参数的存储过程了,再通过对存储过程的调用,我们可以查看数据库表中的相应内容了如:
以上这些都是我们通过命令窗口来实现的与数据库的连接交互,那么,我们如何通过程序达到对存储过程的调用呢?
下面,我以两段程序来达到与上述命令窗口中实现的效果:
该方法创建了一个带有输出参数的存储过程,并通过对该存储过程的调用,来达到对相应数据查看的效果。
publicvoid getProcedureOut(){
con = DBCManager.getConnect();//获取连接对象
try {
//通过连接对象con的prepareCall()方法得到 CallableStatement对象 cs
CallableStatement cs = con.prepareCall("{callmeOut(?,?,?)}");
//为输入参数段赋值
cs.setInt(1, 1);
//注册输出参数的返回值类型
cs.registerOutParameter(2, Types.VARCHAR);
cs.registerOutParameter(3, Types.INTEGER);
//执行语句
cs.execute();
//获取字段的值并输出
System.out.print("name:"+cs.getString(2)+" age:"+cs.getInt(3));
} catch (SQLException e) {
// TODO Auto-generatedcatch block
e.printStackTrace();
}
DBCManager.release(rs, ps, con);
}
该方法创建了一个带有输入参数的存储过程,并通过对该存储过程的调用,来达到向数据库中的表内录入数据的功能。
publicvoid getProcedureIn(){
con = DBCManager.getConnect();//获取连接对象
try {
//通过连接对象con的prepareCall()方法得到 CallableStatement对象 cs
CallableStatement cs = con.prepareCall("{call me(?,?,?)}");
//为输入参数段赋值
cs.setInt(1, 7);
cs.setString(2, "lang");
cs.setInt(3,30);
//设置返回标志
boolean flag;
//执行语句
flag =cs.execute();
if(!flag){
System.out.print("插入成功!");
}
} catch (SQLException e) {
// TODO Auto-generatedcatch block
e.printStackTrace();
}
DBCManager.release(rs, ps, con);
}
通过存储过程,我们便可以以更加简便的方式,来实现对数据库中数据的操作了。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11