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";//ciassName表示类的描述符的字符串
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(sqll);
//System.out.println("删除的记录条数:"+1);
//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 (con != null) {
con.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
输出结果
40
OPERATIONS
BOSTON
*************************
插入的记录的条数:1