java中通过JDBC访问数据库,要访问Oracle数据库,
(1)先要添加Oracle的JDBC驱动程序包ojdbc14.jar,把改文件添加到Build Path中。
(2)在src选项下,创建名为jdbcCon.properties的属性文件,在其中添加四个属性对:
driver = oracle.jdbc.driver.OracleDriver
url = jdbc:oracle:thin:@localhost:1521:orcl
username = system
password = 123
(3)创建连接数据库类(ConnectionFactory)
/**
* 数据库连接工厂
*/
package com.server.data;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
/**
* @author
*
*/
public class ConnectionFactory {
/**
* 数据库连接类
*/
//数据库驱动程序类名
private static String DRIVER = "";
//连接数据库的URL
private static String URL = "";
//连接数据库的用户名
private static String USERNAME = "";
//连接数据库的密码
private static String PASSWORD = "";
private ConnectionFactory(){
}
static{
getPropertiesInfo();
}
/**
* 该方法用来获得属性文件中的driver、url、username、password
*/
private static void getPropertiesInfo(){
Properties prop = new Properties();
InputStream inStream = Thread.currentThread().getContextClassLoader()
.getResourceAsStream("jdbcCon.properties");
try{
//获得相应的键值对
prop.load(inStream);
}catch(IOException e){
e.printStackTrace();
}
//根据相应的键获得对应的值
DRIVER = prop.getProperty("driver");
URL = prop.getProperty("url");
USERNAME = prop.getProperty("username");
PASSWORD = prop.getProperty("password");
}
/**
* 该方法用来加载驱动,并获得数据库的连接对象
*
* @return 数据库连接对象conn
*/
public static Connection getConnnection(){
Connection conn = null;
try{
//加载数据库驱动程序
Class.forName(DRIVER);
}catch(ClassNotFoundException e){
e.printStackTrace();
}
try{
//获得数据库连接对象
conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
System.out.println("连接成功");
}catch(SQLException e){
e.printStackTrace();
}
return conn;
}
}
(4)创建关闭数据库类(DbClose)
/**
* 关闭数据库连接
*/
package com.server.data;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
* @author
*
*/
public class DbClose {
/**
* 数据库关闭类
*/
/**
* 关闭数据库连接
* @param conn 连接类对象
*/
public static void close(Connection conn){
if(null != conn){
try{
conn.close();
}catch(SQLException e){
e.printStackTrace();
}
}
}
/**
* 关闭数据库语句
* @param stmt 语句对象
*/
public static void close(PreparedStatement pre){
if(null != pre){
try{
pre.close();
}catch(SQLException e){
e.printStackTrace();
}
}
}
/**
*关闭数据库结果集
* @param rs 结果集对象
*/
public static void close(ResultSet rs){
if(null != rs){
try{
rs.close();
}catch(SQLException e){
e.printStackTrace();
}
}
}
public static void close(ResultSet rs,PreparedStatement pre,Connection conn){
close(rs);
close(pre,conn);
}
public static void close(PreparedStatement pre,Connection conn){
close(pre);
close(conn);
System.out.println("数据库已关闭!");
}
}