java通过配置属性文件连接Oracle数据库
2008-11-05 21:06
441 查看
做web项目开发中,通过配置属性文件实现连接数据库(Oracle)的功能。
1.将属性文件放在WEB-INF/classes目录下
例如属性文件:demo_db.properties
DRIVERS=oracle.jdbc.driver.OracleDriver
URL=jdbc:oracle:thin:@localhost:1521:MyOra
USER=user
PASSWORD=123456
2.写一个连接数据库的类
例如:DBUtils.java
package com.ctcjz.db;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ResourceBundle;
public class DBUtils {
private static final String OPTION_FILE_NAME = "demo_db";
private static String drivers;
private static String url;
private static String user;
private static String password;
static {
ResourceBundle res = ResourceBundle.getBundle(OPTION_FILE_NAME);
drivers = res.getString("DRIVERS").trim();
url = res.getString("URL").trim();
user = res.getString("USER").trim();
password = res.getString("PASSWORD").trim();
}
public static Connection getConnection() throws SQLException {
Connection conn = null;
try {
Class.forName(drivers).newInstance();
conn = DriverManager.getConnection(url, user, password);
} catch (Exception e) {
e.printStackTrace();
}
if (conn == null) {
throw new SQLException("ctcjz.DBUtils: Cannot get connection.");
}
return conn;
}
public static void close(Connection conn) {
if (conn == null)
return;
try {
conn.close();
} catch (SQLException e) {
System.out.println("ctcjz.DBUtils: Cannot close connection.");
}
}
public static void close(Statement stmt) {
try {
if (stmt != null) {
stmt.close();
}
} catch (SQLException e) {
System.out.println("ajax.DBUtils: Cannot close statement.");
}
}
public static void close(ResultSet rs) {
try {
if (rs != null) {
rs.close();
}
} catch (SQLException e) {
System.out.println("ctcjz.DBUtils: Cannot close resultset.");
}
}
}
3.具体使用
//获取指标列表
String getAreaList() {
JSONArray array = new JSONArray(); //定义JSON数组
String sql = "select AREACODE,AREANAME,STATUS from modelarea";//定义SQL语句
Connection conn = null; //声明Connection对象
PreparedStatement pstmt = null; //声明PreparedStatement对象
ResultSet rs = null; //声明ResultSet对象
try {
conn = DBUtils.getConnection(); //获取数据库连接
pstmt = conn.prepareStatement(sql); //根据sql创建PreparedStatement
rs = pstmt.executeQuery(); //执行查询,返回结果集
while (rs.next()) {
JSONObject obj = new JSONObject();
obj.put("areaCode", rs.getString(1));
obj.put("areaName", rs.getString(2));
obj.put("status", rs.getString(3));
array.add(obj);
}
} catch (SQLException e) {
System.out.println(e.toString());
} finally {
DBUtils.close(rs); //关闭结果集
DBUtils.close(pstmt); //关闭PreparedStatement
DBUtils.close(conn); //关闭连接
}
return array.toString();
}
1.将属性文件放在WEB-INF/classes目录下
例如属性文件:demo_db.properties
DRIVERS=oracle.jdbc.driver.OracleDriver
URL=jdbc:oracle:thin:@localhost:1521:MyOra
USER=user
PASSWORD=123456
2.写一个连接数据库的类
例如:DBUtils.java
package com.ctcjz.db;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ResourceBundle;
public class DBUtils {
private static final String OPTION_FILE_NAME = "demo_db";
private static String drivers;
private static String url;
private static String user;
private static String password;
static {
ResourceBundle res = ResourceBundle.getBundle(OPTION_FILE_NAME);
drivers = res.getString("DRIVERS").trim();
url = res.getString("URL").trim();
user = res.getString("USER").trim();
password = res.getString("PASSWORD").trim();
}
public static Connection getConnection() throws SQLException {
Connection conn = null;
try {
Class.forName(drivers).newInstance();
conn = DriverManager.getConnection(url, user, password);
} catch (Exception e) {
e.printStackTrace();
}
if (conn == null) {
throw new SQLException("ctcjz.DBUtils: Cannot get connection.");
}
return conn;
}
public static void close(Connection conn) {
if (conn == null)
return;
try {
conn.close();
} catch (SQLException e) {
System.out.println("ctcjz.DBUtils: Cannot close connection.");
}
}
public static void close(Statement stmt) {
try {
if (stmt != null) {
stmt.close();
}
} catch (SQLException e) {
System.out.println("ajax.DBUtils: Cannot close statement.");
}
}
public static void close(ResultSet rs) {
try {
if (rs != null) {
rs.close();
}
} catch (SQLException e) {
System.out.println("ctcjz.DBUtils: Cannot close resultset.");
}
}
}
3.具体使用
//获取指标列表
String getAreaList() {
JSONArray array = new JSONArray(); //定义JSON数组
String sql = "select AREACODE,AREANAME,STATUS from modelarea";//定义SQL语句
Connection conn = null; //声明Connection对象
PreparedStatement pstmt = null; //声明PreparedStatement对象
ResultSet rs = null; //声明ResultSet对象
try {
conn = DBUtils.getConnection(); //获取数据库连接
pstmt = conn.prepareStatement(sql); //根据sql创建PreparedStatement
rs = pstmt.executeQuery(); //执行查询,返回结果集
while (rs.next()) {
JSONObject obj = new JSONObject();
obj.put("areaCode", rs.getString(1));
obj.put("areaName", rs.getString(2));
obj.put("status", rs.getString(3));
array.add(obj);
}
} catch (SQLException e) {
System.out.println(e.toString());
} finally {
DBUtils.close(rs); //关闭结果集
DBUtils.close(pstmt); //关闭PreparedStatement
DBUtils.close(conn); //关闭连接
}
return array.toString();
}
相关文章推荐
- Java通过配置文件连接Mysql和Oracle数据库
- JDBC连接MySQL或Oracle数据库(通过从属性文件jdbc.properties读,用Java的Property类)
- [java][spring]取得通过配置文件和注解注入的bean、取得当前数据库连接、取得Appli
- java通过配置文件jdbc.properties链接Oracle数据库工具类
- java通过xml配置属性用iText包生成pdf文件
- Java连接Mysql:通过配置文件
- Java读取属性文件连接oracle数据库
- [java][spring]取得通过配置文件和注解注入的bean、取得当前数据库连接、取得ApplicationContext的方法
- 【跟我学spring 4.0 】之第七节-spring使用外部属性文件-spring配置连接oracle数据库
- 【java基础:JDBC】通过读取配置文件进行数据库连接并读取数据的Demostration
- [java][spring]取得通过配置文件和注解注入的bean、取得当前数据库连接、取得ApplicationContext的方法
- Java中通过配置文件创建Mysql数据库连接
- java连接oracle数据库(利用MyEclipse开发工具反向生成 bean与配置文件)
- java通过配置文件连接数据库
- java连接oracle数据库(利用MyEclipse开发工具反向生成 bean与配置文件)
- Java爬虫历险记 -- (3)通过读取Properties配置文件连接mysql数据库
- java连接oracle数据库(利用MyEclipse开发工具反向生成 bean与配置文件)
- java连接oracle数据库(利用MyEclipse开发工具反向生成 bean与配置文件)
- 设计模式之1.1 再谈反射 以及java当中通过配置文件得到类名字,并生成对象的方法
- eclipse通过maven建立java se工程配置log4j,打包成zip,将jar包和配置文件分开,并以bat和sh文件启动java程序