JDBC连接Oracle数据库说明(

  import java.sql.*;
import java.io.*;

public class JDBCConn{
  private  String url="";//数据库连接字符串
  private  String username="";//数据库用户名
  private  String password="";//数据库密码


  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;
     }
  }

  public void query(Connection con, String sql){
    try{
     if(con==null){
       throw new Exception("database connection can't use!");
     }
     if(sql==null) throw new Exception("check your parameter: 'sql'! don't input null!");
   //第三步:获取Staetment对象
     Statement stmt = con.createStatement();
   //第四步:执行数据库操作(查询操作)
     ResultSet rs = stmt.executeQuery(sql);
   //第五步:处理结果集
      ResultSetMetaData rmeta = rs.getMetaData();
   //获得数据字段个数
     int numColumns = rmeta.getColumnCount();
     while(rs.next())
      {
        for(int i = 0;i< numColumns;i++)
        {
       String sTemp = rs.getString(i+1);
       System.out.print(sTemp+"  ");
        }
       System.out.println("");
      }
    }catch(Exception e){
      System.out.println("query error:"+e);
    }
  }

public void execute(Connection con, String sql){
    try{
      if(con==null) return;
   //第三步:获取Statement对象
       Statement stmt = con.createStatement();
   //第四步:执行数据库操作(更新操作)
       stmt.executeUpdate(sql);
       System.out.println("update executed successly");
    }catch(Exception e){
      System.out.println("execute error: sql = "+sql);
      System.out.println(e);
    }//end try catch
  }//end execute

  public void demo(){
    String sSQL="";
    BufferedReader stdin=new BufferedReader(new  InputStreamReader(System.in));
    try{
      System.out.println("please input update SQL string");
      sSQL=stdin.readLine(); //获取命令行输入(更新字符串)
      Connection conn = conn(); //执行自定义连接方法(获取数据库连接对象)
      execute(conn,sSQL);//执行自定义更新方法
      String sql = "select * from TBL_USER";
      query(conn,sql);//执行自定义查询方法(查询并处理结果集)
      //第六步:关闭数据库连接
      conn.close();
    }catch(SQLException se){
      System.out.println(se);
    }catch(Exception e){
      System.out.println(e);
    }

  }

  public static void main(String[] arg){
    if(arg.length!=3){
      System.out.println("use: java JDBCConn url username password");
      return;
    }
    JDBCConn oc = new JDBCConn();
    oc.url = arg[0];
    oc.username=arg[1];
    oc.password=arg[2];
    oc.demo();
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值