一、连接
新建项目——右键项目名称——选择Build Path——>Configure Build Path进入界面
然后根据如图选择,这里我的路径是E:\xuexi\oracle\product\11.2.0\dbhome_1\owb\wf\lib下的ojdbc14.jar.
二、测试
1.ConnectOracle.java
package database1;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConnectOracle {
private static Connection con;
private static String user="scott";
private static String password="tiger";
private static String className="oracle.jdbc.driver.OracleDriver";
private static String url = "jdbc:oracle:thin:@localhost:1521:orcl";
public static void main(String[] args) {
// TODO Auto-generated method stub
ConnectOracle c = new ConnectOracle();
//c.ConnectOracle();
c.getCon();
c.closed();
}
public static void ConnectOracle() {
try {
Class. forName(className);
System. out.println("加载数据库驱动成功!" );
} catch (ClassNotFoundException e ) {
System. out.println("加载数据库驱动失败!" );
e.printStackTrace();
}
}
/** 创建数据库连接 */
public static Connection getCon() {
ConnectOracle();
try {
con = DriverManager. getConnection(url, user, password);
System. out.println("创建数据库连接成功!" );
} catch (SQLException e ) {
System. out.print(con );
System. out.println("创建数据库连接失败!" );
con = null;
e.printStackTrace();
}
return con ;
}
public static void closed() {
try {
if (con != null) {
con.close();
}
} catch (SQLException e ) {
System. out.println("关闭con对象失败!" );
e.printStackTrace();
}
}
}
2.test.java
package database1;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class test {
//连接对象
Connection connection=null;
//创建预编译对象
PreparedStatement ps=null;
//创建结果集
ResultSet rs = null;
/*插入*/
public int insert(){
int result = 0;
connection = ConnectOracle.getCon();
String sql = "insert into JAVATEST1 values(?,?,?)";
try {
ps = connection.prepareStatement(sql);
ps.setString(1,"abc");
ps.setString(2,"123");
ps.setString(3,"aaaa");
result = ps.executeUpdate();
System. out.println("表插入成功!" );
} catch (SQLException e) {
e.printStackTrace();
System. out.println("表插入失败!" );
}finally {
ConnectOracle.closed();
System. out.println("数据库关闭!" );
}
return result;
}
/*查询*/
public void select(){
connection = ConnectOracle.getCon();
String sql = "select * from JAVATEST1";
try {
ps = connection.prepareStatement(sql);
rs = ps.executeQuery();
while (rs.next()){
String username = rs.getString(1);
String password = rs.getString(2);
String nickname = rs.getString(3);
System.out.println("username:"+username + " password:"+password+" nickname:"+nickname);
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
ConnectOracle.closed();
System. out.println("数据库关闭!" );
}
}
/*修改*/
public int update(){
connection = ConnectOracle.getCon();
String sql = "update JAVATEST1 set \"nickname\" = ? where \"username\" = ? ";
int result = 0;
try {
ps = connection.prepareStatement(sql);
ps.setString(1,"hello");
ps.setString(2,"123");
result = ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}finally {
ConnectOracle.closed();
System. out.println("数据库关闭!" );
}
return result;
}
/*删除... */
public int delete(){
int result = 0;
connection = ConnectOracle.getCon();
String sql = "delete from JAVATEST1 where \"username\"=? ";
try {
ps = connection.prepareStatement(sql);
ps.setString(1,"abc");
result = ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}finally {
ConnectOracle.closed();
System. out.println("数据库关闭!" );
}
return result;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
test tt=new test();
tt.select();
//tt.insert();
//tt.select();
//tt.update();
//tt.select();
//tt.delete();
//tt.select();
}
}
需要注意的是,在Oracle中,执行sql语句自动转化为大写,如果表名或字段名是小写,则需要加双引号。如“username”。