- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
java-hibernate调用mysql过程和函数的方式
1.调用函数
CallableStatement cs con.prepareCall ? call get_pname ?,?,? ;
第一个?表示返回的值,后面的?可以是输入参数,也可以是输出参数。
第一个?是返回参数,所以必须有语句:
connection.registerOutParameter 1, Types.VARCHAR ; Types.varchar是类型 后面的?如果是输出参数,应该也加上registerOutParameter语句:
connection.registerOutParameter 2, Types.VARCHAR ; 2是第2个占位符,
Types.varchar是类型 最后打印输出的结果:
System.out.println cs.getString 1 ; 1是对应输出参数,第一个输出参数 2.调用存储过程
CallableStatement cs con.prepareCall call stu_pro ?,?,? ; 与函数的区
别是:没有 java程序中要打印调用过程获得的值,需调用有输出参数的存储过程,用法和调用函数一样。 3.简单例子
[java]
package com.dgy.app;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Types;
public class OraclePro /**
* 连接数据库
*/
public static Connection getConnection Connection con null;
try Class.forName oracle.jdbc.driver.OracleDriver ;
String url jdbc:oracle:thin:@PC-座机电话号码1406:1521:dgy;
String user dwj;
String pwd dwj;
con DriverManager.getConnection url,user,pwd ; catch ClassNotFoundException e e.printStackTrace ; catch SQLException e e.printStackTrace ; return con; public static void main String[] args throws SQLException //System.out.println OraclePro.getConnection ;
Connection con OraclePro.getConnection ;
CallableStatement cs con.prepareCall ? call get_pname ;//没有参数的函数
cs.registerOutParameter 1, Types.VARCHAR ;//第一个占位为输出,类型是varchar
cs.execute ; //不能忘记execute System.out.println cs.getString 1 ; //打印输出结果,对应registerOutParameter [java]
//有1个输入参数的函数
CallableStatement cs con.prepareCall ? call get_pname1 ? ;
cs.registerOutParameter 1, Types.VARCHAR ;
cs.setLong 2,25 ; //输入参数是25
cs.execute ;
//有1个输出参数的函数
CallableStatement cs con.prepareCall ? call get_pname2 ? ;
cs.registerOutParameter 1, Types.VARCHAR ;
cs.registerOutParameter 2, Types.VARCHAR ;
cs.execute ;
System.out.println cs.getString 1 ;
System.out.println cs.getString 2 ;
//上面两个结果一样,因为两个意思是一样的
//1个输入参数,1个输
文档评论(0)