关闭

JDBC几种连接方式

512人阅读 评论(0) 收藏 举报
package pkg;

import java.sql.*;

public class DBConn {

    Connection con 
= null;

    
public DBConn() {
        
try {
            Class.forName(
"oracle.jdbc.driver.OracleDriver");
            
// 修公路
            con = DriverManager
                    .getConnection(
"jdbc:oracle:thin:@172.16.9.60:1521:blue",
                            
"scott""tiger");

        }
 catch (SQLException ex) {
            System.out.println(
"Connection error");
        }
 catch (Exception e) {
            e.printStackTrace();
        }

    }


    
/*
     * create proc add_pro @cs1 int, @cs2 int, @cs3 int output as set @cs3 =
     * @cs1 + @cs2
     
*/

    
public void f1() throws Exception {
        
// 创建调用存储过程的载体(造高档车)
        CallableStatement cs = con.prepareCall("{call add_pro(?,?,?)}");

        
// 为输入参数赋值,注意下标从1开始
        cs.setInt(133);
        cs.setInt(
255);

        
// 声明注册输出参数
        cs.registerOutParameter(3, Types.INTEGER);

        
// 执行存储过程
        cs.execute();

        
// 获取输出参数
        int rs = cs.getInt(3);

        
// 处理结果
        System.out.println("存储过程执行结果:" + rs);

        
// 释放数据库资源
        cs.close();

    }


    
/*
     * create proc select_pro as select * from titles select * from sales
     
*/

    
public void f2() throws Exception // 创建调用存储过程的载体(造高档车)
        CallableStatement cs = con.prepareCall("{call select_pro}");

        
// 执行存储过程
        cs.execute();

        
// 获取存储过程返回的结果集(第一个)
        ResultSet rs = cs.getResultSet();
        System.out.println(
"第一个结果集中第一列的值为:");
        
while (rs.next()) {
            
// 实际工作中需要修改,做具体业务要求
            System.out.println(rs.getString(1));
        }


        
// 获取存储过程返回的结果集(第一个以后)
        while (cs.getMoreResults()) {
            System.out.println(
"第一个以后结果集中第一列的值为:");
            ResultSet tmp 
= cs.getResultSet();
            
while (tmp.next()) {
                
// 实际工作中需要修改,做具体业务要求
                System.out.println(tmp.getString(1));
            }

        }


        
// 释放数据库资源
        cs.close();

    }


    
public void f3() throws Exception {
        
// 创建可输入参数的SQL语句载体(造中档车)
        PreparedStatement ps = con
                .prepareStatement(
"select * from titles where title_id=?");

        
// 为参数赋值,注意下标从1开始
        ps.setString(1"TC7777");

        
// 执行SQL语句,接收执行结果(运输)
        ResultSet rs = ps.executeQuery();

        
// 处理结果
        while (rs.next()) {
            System.out.println(
"书籍编号:" + rs.getString("title_id"));
            System.out.println(
"书籍标题:" + rs.getString("title"));
        }


        
// 释放数据库资源,注意顺序
        rs.close();
        ps.close();

    }


    
public void f4() throws Exception {
        Statement st 
= con.createStatement();

        
// 执行SQL语句,接收执行结果(运输)
        int rs = st.executeUpdate("update titles set title='aaaaaa'");

        
// 处理结果
        System.out.println("修改记录数:" + rs);

        
// 释放数据库资源,注意顺序
        st.close();
        con.close();

    }


    
public void f5() throws Exception {
        
// 创建SQL语句载体(造普通车)
        Statement st = con.createStatement();

        
// 执行SQL语句,接收执行结果(运输)
        ResultSet rs = st.executeQuery("select * from titles");

        
// 处理结果
        while (rs.next()) {
            System.out.println(
"书籍编号:" + rs.getString("title_id"));
        }


        
// 释放数据库资源,注意顺序
        rs.close();
        st.close();

    }


    
public static void main(String[] args) {
        DBConn dbconn 
= new DBConn();
    }


}

 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:216261次
    • 积分:3520
    • 等级:
    • 排名:第9827名
    • 原创:140篇
    • 转载:8篇
    • 译文:0篇
    • 评论:14条
    JAVA JSP