java连接Oracle数据库的工具类
作者:hebedich 发布时间:2024-01-23 14:43:29
标签:java,连接,Oracle,数据库
一个封装好的链接Oracle数据库的工具类,可以方便的获取Connection对象关闭Statement、ResultSet、Statment对象等等
package myUtil;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
* 链接oracle数据库
* @author weichk
*/
public class OracleDbManager {
private static final String URL = "jdbc:oracle:thin:@//localhost:1521/databaseName";
private static final String USER = "username";
private static final String PASSWORD = "password";
static {
try {
Class.forName("oracle.jdbc.OracleDriver");
} catch (ClassNotFoundException e) {
System.out.println("加载Oracle数据库驱动失败!");
}
}
/**
* 获取Connection
*
* @return
* @throws SQLException
* @throws ClassNotFoundException
*/
public static Connection getConnection() throws SQLException {
Connection conn = null;
try {
conn = DriverManager.getConnection(URL, USER, PASSWORD);
} catch (SQLException e) {
System.out.println("获取数据库连接失败!");
throw e;
}
return conn;
}
/**
* 关闭ResultSet
* @param rs
*/
public static void closeResultSet(ResultSet rs) {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
}
/**
* 关闭Statement
* @param stmt
*/
public static void closeStatement(Statement stmt) {
if (stmt != null) {
try {
stmt.close();
}
catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
/**
* 关闭ResultSet、Statement
* @param rs
* @param stmt
*/
public static void closeStatement(ResultSet rs, Statement stmt) {
closeResultSet(rs);
closeStatement(stmt);
}
/**
* 关闭PreparedStatement
* @param pstmt
* @throws SQLException
*/
public static void fastcloseStmt(PreparedStatement pstmt) throws SQLException
{
pstmt.close();
}
/**
* 关闭ResultSet、PreparedStatement
* @param rs
* @param pstmt
* @throws SQLException
*/
public static void fastcloseStmt(ResultSet rs, PreparedStatement pstmt) throws SQLException
{
rs.close();
pstmt.close();
}
/**
* 关闭ResultSet、Statement、Connection
* @param rs
* @param stmt
* @param con
*/
public static void closeConnection(ResultSet rs, Statement stmt, Connection con) {
closeResultSet(rs);
closeStatement(stmt);
closeConnection(con);
}
/**
* 关闭Statement、Connection
* @param stmt
* @param con
*/
public static void closeConnection(Statement stmt, Connection con) {
closeStatement(stmt);
closeConnection(con);
}
/**
* 关闭Connection
* @param con
*/
public static void closeConnection(Connection con) {
if (con != null) {
try {
con.close();
}
catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
}


猜你喜欢
- 学Python之前我们先来几个简单的小游戏练练手,这三个小游戏一个比一个复杂,建议新手慢慢来:1.猜拳import random  
- 首先,eval模式和train模式得到不同的结果是正常的。我的模型中,eval模式和train模式不同之处在于Batch Normaliza
- 这篇文章主要介绍了python调用接口的4种方式代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的
- 不是炒冷饭,我添加了很多新的功能哦演示地址: xwinhtcdemo.htmCSS: global.cssHTC: xwin.htc特点:1
- 在Python中一切都是对象。Python中对象包含的三个基本要素,分别是:id(身份标识)、type(数据类型)和value(值)。对象之
- 本文实例讲述了Python找出list中最常出现元素的方法。分享给大家供大家参考,具体如下:假设一个list中保存着各种元素,需要统计每个元
- 问题:一直在想requests的content和text属性的区别,从print 结果来看是没有任何区别的看下源码:@property &n
- random是用于生成随机数的,我们可以利用它随机生成数字或者选择字符串。•random.seed(x)改变随机数生成器的种子seed。一般
- Update Tb_Garden1 G Set Steward = (Select Id From Zyq.Tb_User U Where
- Python工程师面试必备25条Python知识点:1.到底什么是Python?你可以在回答中与其他技术进行对比下面是一些关键点:Pytho
- 先看一下br怎么玩转“清除浮动”了。使用以下代码<br clear="all" />以下是代码效果演示:运行
- 序 号前 缀使用的变量/范围或数据类型1a or arrArray2b or blnBoolean3bytByte4
- 原文地址:30 Days of Mootools 1.2 Tutorials - Day 19 - TooltipsMootools 1.2
- 前言事情是这样的:今天晚上,女朋友让我十二点催她睡觉。不过,可是我实在太困了,熬不下去…… 是吧
- 一、同一台电脑需要安装2个MYSQL,以mysql-5.7.39和mysql-8.0.30为例; 1.下载:https://dow
- 使用pip安装python库的几种方式1、使用pip在线安装1.1 安装单个package格式如下:pip install SomePack
- 问题:需要循环获取网元返回的某个参数,并计算出平均值。解决方案:通过expect解决返回More的问题。通过具体的参数位置,精确获取到参数。
- 前言学python对selenium应该不陌生吧Selenium 是最广泛使用的开源 Web UI(用户界面)自动化测试套件之一。Selen
- Internet的规模每一百天就会增长一倍,客户希望获得7天×24小时的不间断可用性及较快的系统反应时间,而不愿屡次看到某个站点“Serve
- DOM中的事件模拟三个步骤:首先通过document.createEvent()方法创建event对象,接收一个参数,即表示要创建的事件类型