当前位置:  编程技术>java/j2ee

java常用工具类之数据库连接类(可以连接多种数据库)

    来源: 互联网  发布时间:2014-11-07

    本文导语:  依赖包下载:http://xiazai./201407/tools/java-db-dependency().rar 数据库连接类源码: package com.itjh.javaUtil; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.ResultSetMetaData; impor...

依赖包下载:http://xiazai./201407/tools/java-db-dependency().rar

数据库连接类源码:

package com.itjh.javaUtil;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.commons.dbcp.ConnectionFactory;
import org.apache.commons.dbcp.DriverManagerConnectionFactory;
import org.apache.commons.dbcp.PoolableConnectionFactory;
import org.apache.commons.dbcp.PoolingDriver;
import org.apache.commons.dbutils.DbUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.MapListHandler;
import org.apache.commons.pool.ObjectPool;
import org.apache.commons.pool.impl.GenericObjectPool;

/**
 * 连接数据库的综合类。
* 依赖jar包:commons.dbcp-1.4,commons.dbutils-1.3,commons.pool-1.5.4包。 * * @author 宋立君 * @date 2014年07月03日 */ public class DBUtil { private String dri = null; private String url = null; private String username = null; private String password = null; private String poolName = null; // 连接池名称 private ObjectPool connectionPool = null; // 连接池 // 对应的定时查询类 private QueryThread queryThread = null; /** * 功能:构造函数 * * @author 宋立君 * @date 2014年07月03日 * @param dri * 驱动全类名,例如:com.mysql.jdbc.Driver。 * @param url * 数据库url连接,例如: * "jdbc:mysql://127.0.0.1:3306/test?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8" * @param userName * 数据库用户名,例如:root * @param password * 数据库密码,例如:abc * @param poolName * 创建的数据库连接池的名称,例如mypool,注意一个web容器此名称不能重复。 */ public DBUtil(String dri, String url, String userName, String password, String poolName) { this.dri = dri; this.url = url; this.username = userName; this.password = password; this.poolName = poolName; } /** * 执行sql。 * * @param conn * 连接 * @param pstm * PreparedStatement * @return int 执行sql对应的影响行。 * @throws SQLException * @author 宋立君 * @date 2014年07月03日 */ public int execute(Connection conn, PreparedStatement pstm) throws SQLException { try { return pstm.executeUpdate(); } finally { Close(conn); } } /** * 查询sql。 * * @param conn * 连接 * @param pstm * PreparedStatement * @return List 查询的结果集 * @throws SQLException * @author 宋立君 * @date 2014年07月03日 */ public List query(Connection conn, PreparedStatement pstm) throws SQLException { try { return resultSetToList(pstm.executeQuery()); } finally { Close(conn); } } /** * 功能:ResultSet 转为List * * * @param rs * ResultSet 原始数据集 * @return List * @throws java.sql.SQLException * @author 宋立君 * @date 2014年07月03日 */ private List resultSetToList(ResultSet rs) throws java.sql.SQLException { if (rs == null) return Collections.EMPTY_LIST; ResultSetMetaData md = rs.getMetaData(); // 得到结果集(rs)的结构信息,比如字段数、字段名等 int columnCount = md.getColumnCount(); // 返回此 ResultSet 对象中的列数 List list = new ArrayList(); Map rowData = new HashMap(); while (rs.next()) { rowData = new HashMap(columnCount); for (int i = 1; i

    
 
 

您可能感兴趣的文章:

  • java数据库连接池和数据库连接示例
  • Java连接池 Nanopool
  • Java连接池 Proxool
  • Java连接池 DBCP
  • 如何用java连接mysql数据库?
  • Java数据库连接池 BoneCP
  • 怎样用java调用DLL动态连接库?
  • Linux系统下利用java连接Oracle 10G
  • 请教:java中如何调用linux下的静态连接库.a文件?
  • java如何连接数据库?
  • 请教:java中如何调用linux下的静态连接库.a文件?
  • java连接DB2问题
  • java连接SQL SERVER
  • Java 连接池组件 JConnectionPool
  • oracle和Java的连接,急!!
  • 用java开发数据库,连接db2应该如何设置classpath (或者说应引入哪个包)
  • 在java中怎么连接MSSQL这样的数据库?database的属性里用什么驱动?
  • Java 和 Access数据库连接问题。谢谢!!
  • 请问JAVA怎么连接Sybase ASA 6.0 ?
  • 请问启动的多个java虚拟机如何共享一个连接池?
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • Java数据库映射工具 SQL2JAVA
  • Java数据库建模工具 Mogwai Java Tools
  • Java数据库 Java DB
  • 在我的java程序中,我从数据库中得到一批数据,不能确定是多少个,我要把它保存到我的java数组中,可是怎样才能向C++中的数组一样可以自由分配空间,在java中我必需预先指定大小,不会一定要用java中的那个可改变数组大小的类吧?
  • 开发java下的数据库程序,用什么数据库引擎?
  • java通过jdbc访问数据库流行采用何种数据库驱动程序?jdbc-odbc , InterClient , 还是“网络协议/全java驱动程序”?如有可能,请给简明
  • java可以管理数据库吗
  • 请问在java钟如何得到数据库中的记录总数,以及如何求数据库中一个字段的和?
  • java对数据库的开发
  • java中的数据库结果集可以被赋值吗,可以通过结果集的方法来更新数据库字段吗?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间javax.print类docflavor的类成员方法:服务格式化打印数据定义及介绍
  • 初学JAVA,请问各位哪本数据结构(JAVA版)比较好?
  • java命名空间javax.print类docflavor的类成员方法:客户端格式化打印数据定义及介绍
  • java怎样读取数据库表中字段的数据类型?
  • JAVA连数据库并插入数据的问题?
  • 请教:请问java中存放数据库中的记录,用什么数据结构?(hashtable?vector?还是别的?)
  • 在网络数据传输中,为了降低数据传输量,用哪种算法最好,有哪位大虾帮忙吗?最好有JAVA源代码
  • 哪位有java通信方面的经验,谈谈如何利用java编写服务器程序来接受unix主机发送的数据信息?
  • 在java中怎么把数据库中的数据导出成excel形式的啊?
  • java开发数据库,一般是用JDBC-ODBC桥,还是JDBC驱动程序连接数据库呢?
  • 请问各位朋友:在JAVA的数据库应用管理系统中,如何不在操作系统忠建立数据源便能连接数据库(如ACCESS、MS SQL 等等
  • java 与数据结构
  • 100分:怎样用Java将一个图片文件(jpg)作为数据保存到数据库中,又怎样还原显示?
  • 菜鸟问题:如何让jsp来获取与之关联的java 数据(赚分了)
  • 请问各位朋友:在JAVA的数据库应用管理系统中,如何不在操作系统忠建立数据源便能连接数据库(如ACCESS、MS SQL 等等)?
  • 用java怎样实现oracle数据库表和excel数据表的转换
  • vc通过socket发送数据给java的问题
  • 现在java开发中流行通过什么方式实现对数据库操作?就好像Visual Stadio通过ADO访问数据库。
  • java数据存储的问题
  • Java数据挖掘工具包 JDMP
  • 怎样将sql格式为yyyy-MM-dd hh:mm:ss的时间转化为java.util.Date或者java的long数据类型
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 我对JAVA一窍不通,可惜别人却给我一个Java的project,要我做一个安装程序,请问哪里有JAVA INSTALLER下载,而且我要不要安装java的sdk才能完成此项任务?




  • 特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3