import java.sql.DriverManager;
import java.util.ArrayList;
import java.util.Hashtable;
import oracle.jdbc.OracleConnection;
import oracle.jdbc.OraclePreparedStatement;
import oracle.jdbc.OracleResultSet;
import oracle.jdbc.OracleResultSetMetaData;
public class OracleDb {
public static OracleConnection getConnection() {
OracleConnection connection = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
connection = (OracleConnection) DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:aodb", "dbo", "sunshine");
} catch (Exception e) {
e.printStackTrace();
}
return connection;
}
public static ArrayList<Hashtable<String, Object>> executeQuery(String sql,ArrayList<Object> params) {
ArrayList<Hashtable<String, Object>> result = null;
OracleConnection connection = getConnection();
OraclePreparedStatement pstmt = null;
OracleResultSet rs = null;
try {
pstmt = (OraclePreparedStatement) connection.prepareStatement(sql);
if (null != params) {
if (params.size() > 0) {
for (int i = 0; i < params.size(); i++) {
pstmt.setObject(i + 1, params.get(i));
}
}
}
rs = (OracleResultSet) pstmt.executeQuery();
if (null != rs) {
result = new ArrayList<Hashtable<String, Object>>();
while (rs.next()) {
Hashtable<String, Object> row = new Hashtable<String, Object>();
OracleResultSetMetaData rsmd = (OracleResultSetMetaData) rs
.getMetaData();
for (int i = 1; i <= rsmd.getColumnCount(); i++) {
if (null != rs.getObject(i)) {
row.put(rsmd.getColumnName(i).toLowerCase(), rs.getObject(i));
}
}
result.add(row);
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
closeAll(rs, pstmt, connection);
}
return result;
}
public static int executeSava(String sql, ArrayList<Object> params) {
int result = 0;
OracleConnection connection = getConnection();
OraclePreparedStatement pstmt = null;
try {
pstmt = (OraclePreparedStatement) connection.prepareStatement(sql);
if (null != params) {
if (params.size() > 0) {
for (int i = 0; i < params.size(); i++) {
pstmt.setObject(i + 1, params.get(i));
}
}
}
result = pstmt.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
} finally {
closeAll(null, pstmt, connection);
}
return result;
}
public static void closeAll(OracleResultSet rs, OraclePreparedStatement pstmt, OracleConnection connection) {
try {
if (null != rs) {
rs.close();
rs = null;
}
if (null != pstmt) {
pstmt.close();
pstmt = null;
}
if (null != connection) {
connection.close();
connection = null;
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
标题中的“JDBC链接Oracle数据库增删改查通用工具类”指的是一个Java编程中的实用工具类,它封装了与Oracle数据库交互的JDBC操作,包括插入(Insert)、删除(Delete)、更新(Update)和查询(Select)这四种基本...
无论是构建简单的Web应用还是复杂的企业级系统,开发者都需要掌握如何通过Java代码执行SQL命令来实现数据的增删改查操作。本文将详细介绍如何在Java中实现这些基本操作,并提供具体的代码示例。 #### 一、环境准备 ...
SqlHelper.java连接数据库通用类... package org.jdbc.com.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql....
Java JDBC封装类,带增删改查例子,支持oracle,MySql,hsqldb 等,支持事务,返回数据格式 支持二维数组,MAP格式,以及javabean对象。有利于初学者DbDemo.java为demo,Connect为jdbc封装类,可以作为项目共通类使用。
在压缩包中的"增删改查sql方法和oral连接"文件可能包含具体的Java代码示例,展示了如何在DAO中实现上述CRUD操作,以及如何配置和使用Oracle数据库连接。 总结来说,这个资源包将帮助你了解如何使用DAO模式配合JDBC...
在Java编程中,JDBC(Java Database Connectivity)是Java平台的标准接口,用于连接各种数据库,实现数据的增删改查操作。本主题将详细介绍如何使用JDBC连接五种不同的数据库——DB2、MySQL、Oracle、SQL Server ...
在Java项目中,只需将ojdbc6.jar添加到项目的类路径中,就可以建立与Oracle数据库的连接,执行增删改查操作,从而实现数据的存储和检索。 综上所述,这三个jar包在Java开发中扮演着重要角色。Apache POI帮助开发者...
本篇将详细介绍如何使用Java连接Oracle数据库,以及如何实现数据的增删改查操作。 首先,要连接Oracle数据库,你需要以下组件: 1. **JDBC驱动**:Java Database Connectivity (JDBC) 是Java访问数据库的标准API。...
神通数据库是中国自主开发的一款高效、安全的数据库管理系统,被称为神舟通用数据库或OSCar。...开发者可以根据需求选择适合的方式来连接数据库,进行数据的增删改查和事务管理,同时享受到Java跨平台的优势。
JDBC提供了一组接口和类,使得开发者可以通过标准的Java代码执行SQL语句,实现数据的增删改查。 2. 数据库驱动: 在Java中,与特定数据库建立连接需要对应的数据库驱动。例如,连接MySQL需要MySQL Connector/J驱动...
开发者可以通过JDBC实现数据的增删改查,进行数据库操作。在进行数据库设计时,需要考虑数据的正常化,以减少数据冗余和提高数据一致性。同时,根据业务需求选择合适的索引策略,以优化查询性能。 在深入学习Oracle...
通过jdbc,开发者能够执行SQL语句,进行数据的增删改查操作。 在KTV管理系统的实现过程中,实体类与数据库表的映射是一个关键环节。实体类通常代表数据库中的表,每个属性对应表中的字段。通过ORM(Object-...
3. 数据操作接口:创建通用的增删改查方法,例如`executeInsert()`, `executeUpdate()`, `executeQuery()`,以处理不同的SQL语句类型。这些方法应负责执行SQL并返回影响行数或ResultSet。 4. 结果集处理:封装对...
这类代码通常包含静态方法,供其他模块调用,以实现数据的增删改查操作。它会使用JDBC API,如Class.forName()加载数据库驱动,Connection对象建立连接,Statement或PreparedStatement对象执行SQL,以及ResultSet...
在这个例子中,使用的是Oracle数据库,所以驱动类是`oracle.jdbc.driver.OracleDriver`,数据库URL为`jdbc:oracle:thin:@127.0.0.1:1521:orcl`,表明连接的是本地的Oracle服务,端口号为1521,服务名为orcl。...
JDBC(Java Database Connectivity)是Java平台中用于与关系型数据库进行交互的一组接口和类,它是Java标准API的一部分,允许Java程序通过Java代码执行SQL语句,实现数据的增删改查。本篇文章将深入探讨JDBC在与不同...
在数据库操作中,我们可以定义一个抽象类,包含通用的增删改查方法,然后由具体的数据库操作类继承并实现这些方法。 例如,我们可以定义一个`DatabaseOperation`抽象类,包含如下模板方法: ```java public ...
Java JDBC(Java Database Connectivity)是Java编程语言中用于与关系...在实际工作中,结合具体的数据库系统,如MySQL或Oracle,开发者可以利用这些知识实现数据的增删改查,进行复杂的数据操作和报表生成等任务。
在Dao.java中,可能会定义一些方法,如增删改查(CRUD)操作,以便于业务逻辑层与数据库进行交互,而无需直接接触JDBC API。 2. **BaseDAO.java** - 这可能是所有其他DAO类的基类,包含了一些通用的方法,如打开和...