java操作oracle表中的数据

     写此博文,作为自己的备忘,也供其他人参考,有不足之处,请指出。

     java读、写、更新、删除oracle表中的数据,代码如下:

      

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

//使用 jdbc连接oracle数据库   
public class TestOracle {
 Connection ct = null;

 public void connOracle() {
  try {

   // 加载驱动
   Class.forName("oracle.jdbc.driver.OracleDriver");

   // 获得连接
   ct = DriverManager.getConnection(
     "jdbc:oracle:thin:@127.0.0.1:1521:orcl", "scott", "orcl");

  } catch (Exception e) {
   System.out.println("连接数据出错!");
   e.printStackTrace();
  }

 }

 public void disconnOracle() {
  try {
   if (ct != null)
    ct.close();
  } catch (Exception e) {
   System.out.println("关闭数据出错!");
   e.printStackTrace();
  }

 }

 public void selectOracle() {
  ResultSet rs = null;
  connOracle();
  try {
   Statement sm = ct.createStatement();
   rs = sm.executeQuery("select * from emp");
   while (rs.next()) {
    // 用户名
    System.out.println("用户名: " + rs.getString(2));
    // 默认是从1开始编号的
   }
  } catch (Exception e) {
   e.printStackTrace();
  } finally {
   try {
    if (rs != null) {
     rs.close();
    }
   } catch (Exception e2) {
    System.out.println("rs关闭出错!");
    e2.printStackTrace();
   }
  }
  disconnOracle();
 }

 public void updateOracle() {
  connOracle();

  PreparedStatement ps = null;
  try {
   // 加入事务
   // ct.setAutoCommit(false);
   // 3. 创建Preparedstatement
   // 插入多列
   ps = ct
     .prepareStatement("update emp set JOB=?,MGR=?,HIREDATE=?,SAL=?,COMM=?,DEPTNO=? where empno=1");
   ps.setString(1, "saleman");
   ps.setInt(2, 0001);
   // 日期型
   java.sql.Date tdate = java.sql.Date.valueOf("2007-09-04");
   ps.setDate(3, tdate);

   ps.setInt(4, 5000);
   ps.setInt(5, 1000);
   ps.setInt(6, 10);

   ps.executeUpdate();
   // ct.commit();
  } catch (Exception e) {
   e.printStackTrace();
  } finally {
   try {
    ps.close();
   } catch (SQLException e) {
    System.out.println("更新数据库出错!");
    e.printStackTrace();
    // 有异常就回滚
    try {
     ct.rollback();
    } catch (SQLException e1) {
     System.out.println("异常回滚时出错!");
     e1.printStackTrace();
    }
   }
  }

  disconnOracle();

 }

 public void insertOracle() {
  connOracle();

  PreparedStatement ps = null;

  try {

   // ps = ct.prepareStatement("insert into emp
   // values(?,?,?,?,?,?,?,?)");
   ps = ct
     .prepareStatement("insert into emp(empno,ename) values(?,?)");

   ps.setInt(1, 0001);
   ps.setString(2, "google");
   // ps.setString(3, "salesman");
   // ps.setInt(4, 0001);
   // //日期
   // PreparedStatement pstmt = conn.prepareStatement("insert into
   // table1 (tdate)
   // values (to_date(?, 'yyyy-mm-dd hh24:mi:ss')");
   //
   // String buydate="2007-04-09 10:50:00";
   // pstmt.setString(1,buydate );

   // ps.setInt(6, 1000);
   // ps.setInt(7, 100);
   // ps.setInt(8, 10);
   //           
   ps.execute();
  } catch (Exception e2) {
   e2.printStackTrace();
  } finally {
   try {
    if (ps != null)
     ps.close();
   } catch (Exception e3) {
    e3.printStackTrace();
   }
  }

  disconnOracle();

 }

 public void deleteOracle() {
  connOracle();

  Statement stmt = null;
  String sql = "delete emp where empno=1";
  try {

   stmt = ct.createStatement();

   stmt.executeUpdate(sql);
   System.out.println("Delete Data Success!");

   stmt.close();

  } catch (Exception e) {
   System.out.println("delete数据时出错!");
   System.err.print(e.getMessage());
  }

  disconnOracle();

 }

 public static void main(String[] args) {
  TestOracle tOrcl = new TestOracle();
  // tOrcl.selectOracle();
  // tOrcl.insertOracle();
  // tOrcl.updateOracle();
  tOrcl.deleteOracle();

 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值