Java连接Oracle数据库示例

时间:2023-03-09 09:48:57
Java连接Oracle数据库示例

1.数据库复用模块

package cn.jzy.database;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException; public class DBFcatory {
Connection conn ;
public DBFcatory(){
getConnection();
}
private Connection getConnection() {
conn=null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:jzy","jzy","123456"); } catch (Exception e) {
e.printStackTrace();
}
return conn;
}
//增,删,改操作
public void OracleExecute(String sql,Object[] params){
try {
if(conn==null){
conn=getConnection();
}
PreparedStatement pstm=conn.prepareStatement(sql);
for(int i=0;i<params.length;i++){
pstm.setObject(i+1, params[i]);
}
pstm.execute();
closeConnection();
System.out.println("执行成功");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} public ResultSet OracleExecuteQuery(String sql,Object[] params){
ResultSet rs=null;
try {
if(conn==null){
conn=getConnection();
}
PreparedStatement pstm=conn.prepareStatement(sql);
for(int i=0;i<params.length;i++){
pstm.setObject(i+1, params[i]);
}
rs=pstm.executeQuery();
System.out.println("查找成功");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return rs;
} public void closeConnection(){
try {
if(conn!=null){
conn.close();
}
} catch (Exception e) {
e.printStackTrace();
}finally{
conn=null;
}
}
}

2.数据库测试模块

package cn.jzy.database;

import java.sql.ResultSet;

public class TestDBFActory {

	public static void main(String[] args) {
DBFcatory dbf=new DBFcatory();
String sql="insert into emp values (seq_emp.Nextval,?,?,?,?,?,?,?,?)";
Object[] params={1,"小五",20,"女","员工","1",5000,"成都"};
dbf.OracleExecute(sql, params); String sql2="select * from emp where id=?";
Object[] params2={1};
try{
ResultSet rs=dbf.OracleExecuteQuery(sql2, params2);
while(rs.next()){
System.out.println(rs.getString("name"));
}
dbf.closeConnection();
}catch(Exception e){
e.printStackTrace();
}
} }