package com.jh.core.db.jdbc;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.apache.log4j.Logger;
class DBUtil {
private static final Logger logger = (Logger) Logger.getLogger(DBUtil.class);
public static Object preparedExecute(String dbName,PreparedDBCallBack pcallBack,String sql) {
Connection conn = null;
PreparedStatement ps = null;
try {
conn = DBConnection.getDBConnection(dbName);
ps=conn.prepareStatement(sql);
return pcallBack.execute(ps);
} catch (Exception e) {
logger.error("数据变更错误 ", e);
} finally {
try {
DBConnection.closeDBPrepared(ps);
} finally {
DBConnection.closeDBConnection(conn);
}
}
return null;
}
static public int getIntValue(ResultSet rs) throws SQLException{
if(rs.next()){
return rs.getInt(1);
}
return 0;
}
static public String getStrValue(ResultSet rs) throws SQLException{
if(rs.next()){
return rs.getString(1);
}
return null;
}
static public long getLongValue(ResultSet rs) throws SQLException{
if(rs.next()){
return rs.getLong(1);
}
return 0;
}
static public Object getObjValue(ResultSet rs) throws SQLException{
if(rs.next()){
return rs.getObject(1);
}
return null;
}
// public static Object execute(String dbName,DBCallBack callBack,Object obj) {
// Connection conn = null;
// try {
// conn = DBConnection.getDBConnection(dbName);
// return callBack.execute( conn);
// }catch (Exception e) {
// logger.error("数据变更错误 ", e);
// }finally {
// DBConnection.closeDBConnection(conn);
// }
// return null;
// }
public static Object execute(String dbName,DBCallBack callBack) {
Connection conn = null;
try {
conn = DBConnection.getDBConnection( dbName);
return callBack.execute( conn);
}catch (Exception e) {
logger.error("数据变更错误 ", e);
}finally {
DBConnection.closeDBConnection(conn);
}
return null;
}
}
分享到:
相关推荐
在数据库操作中,事务处理是确保数据一致性的重要手段,DBUtils 的 Transaction 类简化了这一过程。 4. **GracefulKiller**: 这是一个用于优雅关闭数据库连接的工具,通常配合多线程或异步编程使用。在程序退出前,...
例如,`ArrayListHandler` 可以将结果集转换为 ArrayList,`BeanHandler` 可以将每一行数据映射到一个 Java 对象,这极大地简化了数据的处理和解析。 4. **异常处理**:DBUtils 使用了 `SQLExceptions` 类来包装 ...
5. **异常处理**:Dbutils 将 JDBC 抛出的 SQLException 进行封装,转换为自己的运行时异常,如 `DataAccessException` 和 `SQLExceptions`,这使得异常处理更加简洁,避免了层层捕获 SQLException。 在实际使用中...
在Java开发中,`dbutils`是一个非常实用的数据库操作工具包,它简化了JDBC(Java Database Connectivity)的一些繁琐工作,比如连接管理、结果集处理等,使得开发者可以更专注于SQL语句的编写和数据的处理。...
5. **结果集处理**:DBUtils提供了一些方法来处理ResultSet,如将结果集转换为List、Map等数据结构,方便数据的进一步处理和展示。 6. **事务管理**:DBUtils提供了一套简单的事务控制机制,允许开发者在需要时开启...
在Java J2EE环境中,DBUtils被广泛应用于Web应用的后端数据处理,与Eclipse等IDE配合使用,可以极大地提高开发效率。 DBUtils的核心功能主要包括以下几个方面: 1. **连接池管理**:DBUtils支持多种连接池实现,如...
4. **ResultSetHandler**:这是处理查询结果集的接口,有多种实现,如 `ArrayListHandler`、`BeanHandler` 和 `MapHandler` 等,用于将结果集转换为 Java 对象。 5. **ExceptionTranslator**:异常转换器,DBUtils ...
Oracle数据库处理二进制数据方面,DBUtils提供了一些用于处理BLOB和CLOB数据类型的工具类。二进制大对象(BLOB)用于存储大量的二进制数据,比如图片、视频等,而字符大对象(CLOB)用于存储大量的文本数据。DBUtils...
5. **结果集处理**:提供`ResultSetHandler`接口,可以方便地将ResultSet转换为各种数据结构,如List、Map等。 6. **连接池集成**:DBUtils可以很好地与第三方连接池,如C3P0、DBCP、HikariCP等集成,实现数据库...
DBUtils的核心设计理念是基于Java的模板方法模式,它将数据库访问的常见任务如打开/关闭连接、处理结果集等封装起来,使得开发者可以更专注于SQL语句的编写和业务数据的处理。下面我们将深入探讨DBUtils的主要功能和...
DBUtils的核心功能包括QueryRunner类,它支持预编译的SQL语句,可以有效防止SQL注入攻击。此外,DBUtils还提供了异常处理机制,使得数据库操作更加健壮。 将C3P0和DBUtils结合使用,可以构建一个高效且稳定的数据库...
`dbutils` 是一个开源的Java库,主要设计用于简化数据库操作,它不是数据访问对象(DAO)框架,也不是像Hibernate那样的对象关系映射(ORM)工具。`dbutils` 提供了一些实用功能,使得在Java程序中进行数据库交互变...
3. **BasicRowProcessor**和**AdvancedRowProcessor**:这两个类是用来处理ResultSet中的每一行数据的,默认使用的是BasicRowProcessor,它能将结果集转换为Java对象。AdvancedRowProcessor提供了更高级的功能,如...
本篇将详细讲解如何利用DBUtils中的QueryRunner类对数据表进行操作,包括连接数据库、执行SQL语句以及处理结果集。 首先,我们需要理解DBUtils的核心设计理念:简化JDBC编程。在传统的JDBC操作中,我们需要手动管理...
6. **事务管理**:DbUtils提供简单的事务支持,通过`TransactionManager`类,可以在代码中轻松开启、提交和回滚事务,保证数据的一致性。 在实际项目中,开发者可以结合Spring框架或其他ORM工具(如Hibernate或...
`dbutils` 由Apache软件基金会开发并维护,是许多Java项目中的常用组件,尤其对于进行数据处理和数据访问的程序设计者来说,它极大地提高了开发效率。 **一、dbutils的核心功能** 1. **快速查询**: `QueryRunner` ...
* `org.apache.commons.dbutils.handlers`:处理结果集的工具类,提供了多种结果集到其他数据结构的转换处理器。 * `org.apache.commons.dbutils.wrappers`:包装了JDBC接口,提供了一些增强功能,如自动检查SQL ...
2. **结果集处理**:DbUtils提供了`ResultSetHandler`接口,可以方便地将数据库查询结果转换为Java对象。如`BeanHandler`用于将结果集一行数据映射到一个Java Bean,`ArrayListHandler`则可将整个结果集转化为List...
4. **结果集处理**:DbUtils可以将ResultSet中的数据自动转化为List或Map集合,方便进一步处理。例如,通过`ResultSetHandler`接口及其实现类,如`ArrayListHandler`、`BeanHandler`、`MapHandler`等,可以轻松地将...
DbUtils提供了一些预定义的实现,如ArrayListHandler(将结果集转换为List对象)、BeanHandler(将结果集映射到Java Bean)、MapHandler(将结果集映射到Map对象)等,可以根据需求选择合适的Handler。 3. **...