import java.sql.*;
import java.util.ResourceBundle; /**
* jdbc工具类,负责:
* 1. 加载/注册数据库驱动程序
* 2. 获取数据库连接
* 3. 释放数据库资源(Connection, Statement, ResultSet)
*/
public class JdbcUtil { private static final String DRIVER = getValue("jdbc.driver");
private static final String URL = getValue("jdbc.url");
private static final String USERNAME = getValue("jdbc.username");
private static final String PASSWORD = getValue("jdbc.password"); static{
try {
//1. 注册数据库驱动程序
Class.forName(DRIVER);
} catch (ClassNotFoundException e) {
System.err.println("注册数据库驱动程序失败。" + e.getMessage());
}
}
/**
* 2. 获取数据库连接
*
* @return
*/
public static Connection getConnection() {
try {
Connection conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
return conn;
} catch (SQLException e) {
System.err.println("a获得数据连接失败。" + e.getMessage());
}
return null;
} /**
* @param conn
* @param stmt
* @param rs
*/
public static void close(Connection conn, Statement stmt, ResultSet rs) {
try {
//关闭数据库的资源的顺序最好与使用的顺序相反
if(rs != null){
rs.close();
}
if(stmt != null){
stmt.close();
}
if(conn != null){
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* 读取属性文件中的信息
*
* @param key
* @return
*/
private static String getValue(String key) {
// 资源包绑定
ResourceBundle bundle = ResourceBundle.getBundle("jdbc");
return bundle.getString(key);
} /**
* 对数据库连接进行测试
* @param args
*/
public static void main(String[] args) {
System.out.println(getValue("jdbc.driver"));
System.out.println(getConnection());
}
} 其中的数据库连接数据单独存放在jdbc.peoperties文件中
文件内容如下:
# 数据库的连接信息
# key=value # 驱动程序类
jdbc.driver=oracle.jdbc.driver.OracleDriver # 连接到数据库的url
jdbc.url=jdbc:oracle:thin:@localhost:1521:ORCL # 连接数据库的用户名
jdbc.username=username # 连接数据库的密码
jdbc.password=password

JDBC连接Oracle工具类的更多相关文章

  1. jdbc连接的工具类

    在不实用框架的情况下,有一个jdbc的工具类来进行数据库的连接就再好不过了,下面提供这个工具类DBUtil.java package org.jdbc.test; import java.io.Inp ...

  2. python连接Oracle工具类

    上代码: # -*- coding:utf-8 -*- import cx_Oracle import pandas as pd class ORACLE(object): def __init__( ...

  3. jdbc连接oracle数据库

    /*** 通过改变配置文件来连接不同数据库*/package com.xykj.jdbc; import static org.junit.Assert.*; import java.io.Input ...

  4. JAVA通过JDBC连接Oracle数据库详解【转载】

    JAVA通过JDBC连接Oracle数据库详解 (2011-03-15 00:10:03) 转载▼http://blog.sina.com.cn/s/blog_61da86dd0100q27w.htm ...

  5. 解决centos下tomcat启动太慢 & JDBC连接oracle太慢的问题

    近期遇到一个非常奇怪的问题,也不知道改了什么,tomcat启动非常慢,以前几秒就启动好了,现在要30秒左右. 而且,通过jdbc连接oracle数据库也非常慢,以前建立一个连接只要几十毫秒,现在也要1 ...

  6. JDBC封装的工具类

    1. JDBC封装的工具类 public class JDBCUtil { private static Properties p = new Properties(); private static ...

  7. DbUtils是Apache出品一款简化JDBC开发的工具类

    DbUtils     - DbUtils是Apache出品一款简化JDBC开发的工具类     - 使用DbUtils可以让我们JDBC的开发更加简单     - DbUtils的使用:       ...

  8. Linux(Centos)下jdbc连接oracle速度超慢的问题

    最近在centos下写个java swing程序,发现在linux用jdbc连接oracle及其缓慢,还经常失败.但是同样的程序在windows下运行就连接的非常快.网上搜索了很长时间都和我这情况没关 ...

  9. jdbc 连接 oracle rac

    jdbc 连接 oracle rac 的连接串如下:   jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192. ...

随机推荐

  1. 安装SQLserver2008时出现的错误

    1.SQLserver2008提示必须重新启动计算机才干够继续安装.解决方法例如以下: 在開始->执行中输入regedit,到HKEY_LOCAL_MACHINE\SYSTEM\CurrentC ...

  2. 3 Angular 2 快速上手启动项目Demo

    Angular2.x与Angular1.x 的区别类似 Java 和 JavaScript 或者说是雷锋与雷峰塔的区别,想要运行Angular2需要安装一些第三方依赖,不会像Angular1.x那样, ...

  3. 【PA2013】【BZOJ3733】Iloczyn

    Description 给定正整数n和k,问是否能将n分解为k个不同正整数的乘积 Input 第一行一个数T(T<=4000)表示測试组数 接下来T行每行两个数n(n<=10^9),k(k ...

  4. cocos2d-x调用scheduleUpdate()不执行update()方法的解决办法【转】

    原文地址:http://blog.csdn.net/somestill/article/details/9699377 前两天使用到每帧都更新动画的scheduleUpdate()方法,但通过cclo ...

  5. Xcode 中的小技巧

    显示或隐藏欢迎页面 Command + Shift + 1 显示欢迎页 假设不想每次打开都显示,能够将上图中的勾去掉

  6. c/c++内存使用原则

    1 no malloc no free 2 no new no delete 如果对象不是new出来的,那么这个对象在生命周期结束后会自动调用析构函数自己释放自己的内存,不需要delete. 但是如果 ...

  7. ajax跨域问题解决(spring boot)

    之前用的服务器响应头部添加Access-Control-Allow-Origin: *来解决的 public static void setResp(HttpServletResponse resp) ...

  8. p_CreateAuditEntry

    如果你能搜到我这篇博客,相信你导遇到的了和我一样在导入CRM组织时遇到了类似的错误.这个错误我查资料可以通过CRM升级来解决参考下面连接: https://support.microsoft.com/ ...

  9. SimpliciTI协议栈

    SimpliciTI组网过程介绍 1.SimpliciTI支持点对点和星形的网络拓扑结构.   下面介绍以AP为中心的SimpliciTI网路协议的星形拓扑结构通信过程 1)当ED节点上电之后就扫描信 ...

  10. hdu 5023(线段树区间染色,统计区间内颜色个数)

    题目描述:区间染色问题,统计给定区间内有多少种颜色? 线段树模板的核心是对标记的处理 可以记下沿途经过的标记,到达目的节点之后一块算,也可以更新的时候直接更新到每一个节点 Lazy操作减少修改的次数( ...