package com.neusoft.utils;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JdbcOracleTest {
/**
* @param args
*/
public static void main(String[] args) {
// 2.建立同数据库的连接
// url:统一资源定位符
String url = "jdbc:oracle:thin:@10.25.85.247:1521:orcl";
String user = "scott";
String password = "tiger";
Connection con = null;
Statement st = null;
String sql = "select * from DEPT";
String sql1 = "delete from USERTEST";
ResultSet rs = null;
PreparedStatement pst = null;
// 1.加载驱动
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
con = DriverManager.getConnection(url, user, password);
System.out.println("数据库连接成功!");
// 取消自动提交事务
con.setAutoCommit(false);
// 3.取得statement对象
st = con.createStatement();
// 4.发送statement到oracle中,并且查询表
rs = st.executeQuery(sql);
// 5.取出结果集中的数据
while (rs.next()) {
System.out.println("*************************");
String deptno = rs.getString(1);
System.out.println(deptno);
String dname = rs.getString(2);
System.out.println(dname);
String loc = rs.getString(3);
System.out.println(loc);
System.out.println("*************************");
}
// 6.删除数据
// int i = st.executeUpdate(sql1);
// System.out.println("删除的记录的条数:"+i);
// 7.高级-->?占位符
pst = con.prepareStatement("insert into USERTEST values(?,?,?)");
// 给占位符赋值-->通过serXxx()方法
pst.setString(1, "5");
pst.setString(2, "u5");
pst.setString(3, "p5");
int i = pst.executeUpdate();
System.out.println("插入的记录的条数:" + i);
//事务处理-->提交
con.commit();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
try {
//事务处理-->回滚
con.rollback();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
// 6.关闭资源
try {
if (rs != null) {
rs.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
if (st != null) {
st.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
if (pst != null) {
pst.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
if (con != null) {
con.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}