当前位置:Gxlcms > 数据库问题 > JDBC学习笔记(10)——调用函数&存储过程

JDBC学习笔记(10)——调用函数&存储过程

时间:2021-07-01 10:21:17 帮助过:2人阅读

@Test 2 public void testCallableStatement() { 3 Connection connection = null; 4 /** 5 * 调用存储函数 1.{?= call <procedure-name>[(<arg1>,<arg2>, ...)]} 6 * 调用存储过程 2.{call <procedure-name>[(<arg1>,<arg2>, ...)]} 7 */ 8 // 调用存储函数和调用存储过程,一个sql语句的区别 9 String sql = "{?= call <procedure-name>[(<arg1>,<arg2>, ...)]}"; 10 CallableStatement callableStatement = null; 11 try { 12 13 connection = JDBCTools.getConnection(); 14 /* 15 * 1.通过COnnection对象的prepareCall()方法创建一个CallableStatement 16 * 对象的实例,在使用Connection对象的prepareCall() 方法时,需要传入一个String类型的字符串, 17 * 该字符串用于指明如何调用存储过程 18 */ 19 callableStatement = connection.prepareCall(sql); 20 21 /* 22 * 2.通过CallableStatement对象的registerOutParameter() 方法注册Out参数 23 */ 24 callableStatement.registerOutParameter(1, Types.NUMERIC); 25 callableStatement.registerOutParameter(3, Types.NUMERIC); 26 27 /* 28 * 3.通过CallableStatement对象的setXxx()方法设定IN或In out 29 * 参数,若想将参数设为null,可以使用setNUll() 30 */ 31 callableStatement.setInt(2, 80); 32 33 /* 4.通过CallableStatement对象的execute()方法执行存储过程 */ 34 callableStatement.execute(); 35 36 /* 37 * 5.如果所调用的是带返回参数的存储过程没还需要通过CallableStatement对象的getXxx() 38 */ 39 double sumSalary = callableStatement.getDouble(1); 40 long empCount = callableStatement.getLong(3); 41 } catch (Exception e) { 42 e.printStackTrace(); 43 } finally { 44 JDBCTools.release(null, callableStatement, connection); 45 } 46 }

调用函数和存储过程的sql语句的区别:

* 调用存储函数 1.{?= call <procedure-name>[(<arg1>,<arg2>, ...)]}
* 调用存储过程 2.{call <procedure-name>[(<arg1>,<arg2>, ...)]}

这个知识点暂时没用到,先做下笔记,待以后用到以后再深入研究,JDBC的学习暂时告一段落,Spring,我来啦!

 


个人感悟:把简单的事情做到极致,打扎实的基础,写优秀的代码

本文为博主原创文章,转载请注明出处:http://www.cnblogs.com/ysw-go/
1、本博客的原创原创文章,都是本人平时学习所做的笔记,如有错误,欢迎指正。
2、如有侵犯您的知识产权和版权问题,请通知本人,本人会即时做出处理文章。
3、本博客的目的是知识交流所用,转载自其它博客或网站,作为自己的参考资料的,感谢这些文章的原创人员

JDBC学习笔记(10)——调用函数&存储过程

标签:

人气教程排行