[JAVA100例]058、调用存储过程

2016-02-19 17:02 1 1 收藏

今天图老师小编给大家介绍下[JAVA100例]058、调用存储过程,平时喜欢[JAVA100例]058、调用存储过程的朋友赶紧收藏起来吧!记得点赞哦~

【 tulaoshi.com - 编程语言 】

  import java.sql.*;

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  

/**
 * pTitle: JDBC连接数据库/p
 * pDescription: 本实例演示如何使用JDBC连接Oracle数据库,并演示添加数据和查询数据。/p
 * pCopyright: Copyright (c) 2003/p
 * pFilename: JDBCSTMConn.java/p
 * @version 1.0
 */
public class JDBCSTMConn{
 private static String url="";
 private static String username="";
 private static String password="";
/**
 *br方法说明:获得数据连接
 *br输入参数:
 *br返回类型:Connection 连接对象
 */ 
 public Connection conn(){
   try {
   //加载JDBC驱动
    Class.forName("oracle.jdbc.driver.OracleDriver");
    //创建数据库连接
    Connection con = DriverManager.getConnection(url, username, password);
    return con;
  }catch(ClassNotFoundException cnf){
   System.out.println("driver not find:"+cnf);
   return null;
  }catch(SQLException sqle){
   System.out.println("can´t connection db:"+sqle);
   return null;
  } catch (Exception e) {
    System.out.println("Failed to load JDBC/ODBC driver.");
    return null;
   }
 }
/**
 *br方法说明:调用存储过程,察看数据结果
 *br输入参数:Connection con 数据库连接
 *br输入参数:String sql 要执行的SQL语句
 *br返回类型:
 */
  public void execute(Connection con){
  CallableStatement toesUp = null;
  try {
   con.setAutoCommit(false);
   //调用存储过程
   toesUp = con.prepareCall("{call p_test(?)}");
   //传递参数给存储过程
   toesUp.setInt(1, 6);
   //执行存储过程
   toesUp.executeQuery();
Statement stmt = con.createStatement();
    ResultSet rs = (ResultSet) stmt.executeQuery("SELECT * FROM TEST");
    while (rs.next()) {
     String ID = rs.getString(1);
     String NAME = rs.getString(2);
     System.out.println(ID+ " " +NAME);
    }
    rs.close();
   } catch (SQLException e) {
   System.out.println(e);
   try{
   toesUp.close();
   con.close();
   }catch(Exception es){System.out.println(es);}
  }
 }
/**
 *br方法说明:实例演示
 *br输入参数:
 *br返回类型:
 */
  public void demo(){
   try{
    JDBCSTMConn oc = new JDBCSTMConn();
    Connection conn = oc.conn();
    oc.execute(conn);
    conn.close();
   }catch(SQLException se){
    System.out.println(se);
   }catch(Exception e){
    System.out.println(e);
   }
   
  }
/**
 *br方法说明:主方法
 *br输入参数:
 *br返回类型:
 */
  public static void main(String[] arg){
   if(arg.length!=3){
    System.out.println("use: java JDBCSTMConn url username password");
    return;
   }
   JDBCSTMConn oc = new JDBCSTMConn();
   oc.url = arg[0];
   oc.username=arg[1];
   oc.password=arg[2];
   oc.demo();
  }
}

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

来源:https://www.tulaoshi.com/n/20160219/1613935.html

延伸阅读
import java.awt.*; import java.applet.*; /**  * pTitle: 带阴影的文字/p  * pDescription: 使用Applet和Graphics,实现一个文字的移动广告。/p  * pCopyright: Copyright (c) 2003/p  * pFilename: ShadowText.java/p  * @version 1.0  */ public class ShadowText extends Applet implements Runnable ...
/**  * pTitle: 线程同步/p  * pDescription: 通过使用同步锁实现对共享数据的操作/p  * pCopyright: Copyright (c) 2003/p  * pFilename: SyThreadDemo.java/p  * @version 1.0  */ /**  *br类说明:主程序  *br功能描述:构造两个线程,并启动它们  */ public class SyThreadDemo {  ...
/**  * pTitle: 创建多线程/p  * pDescription: 使用构造器,创建多线程。/p  * pCopyright: Copyright (c) 2003/p  * pFilename: multiThread.java/p  * @version 1.0  */ public class multiThread { /**  *br方法说明:主方法  *br输入参数:  *br返回类型:  */  public static vo...
import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; /**  * pTitle: 滑动杆演示/p  * pDescription: 使用滑动杆控制定时器,来控制图片的播放速度/p  * pCopyright: Copyright (c) 2003/p  * pFilename: SliderDemo.java/p  * @version 1.0  */ public class Slid...
import javax.swing.JInternalFrame; import javax.swing.JDesktopPane; import javax.swing.JMenu; import javax.swing.JMenuItem; import javax.swing.JMenuBar; import javax.swing.JFrame; import javax.swing.KeyStroke; import java.awt.event.*; import java.awt.*; /**  * pTitle: 内部窗体演示/p  * pDescription: 这...

经验教程

464

收藏

17
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部