java经过配置属性文件连接Oracle数据库
java通过配置属性文件连接Oracle数据库
做web项目开发中,通过配置属性文件实现连接数据库(Oracle)的功能。
1.将属性文件放在WEB-INF/classes目录下
例如属性文件:demo_db.properties
DRIVERS=oracle.jdbc.driver.OracleDriver
URL=jdbc:oracle:thin:@localhost:1521:MyOra
URL=jdbc:oracle:thin:@localhost:1521:MyOra
USER=user
PASSWORD=123456
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();
- }