jdbc关闭连接读取数据
来源:互联网 发布:mac玫瑰红brave red 编辑:程序博客网 时间:2024/05/05 12:14
因为我们对数据库访问一般会写一个能用dao,但是在调用的时候会返回一个数据集ResultSet ,
这个时候关闭数据库连接就不能读取ResultSet ,故有以下代码
在javax中有一个数据集缓冲器CachedRowSet,用他可以实现关闭连接读取数据,
跟ResultSet 一样方便
package sqltest;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.*;
import javax.sql.rowset.*;
import com.sun.rowset.CachedRowSetImpl;
import java.util.Properties;
public class BaseDao {
private Connection connection = null;
private PreparedStatement pstmt = null;
private ResultSet rs = null;
/*
* 返回数据库连接
*/
public Connection getConnection() {
try {
Class.forName(getStrings().getProperty("driver"));
connection = DriverManager.getConnection(getStrings().getProperty(
"url"), getStrings().getProperty("username"), getStrings()
.getProperty("password"));
} catch (ClassNotFoundException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
return connection;
}
/*
* 读取配置文件
*/
public Properties getStrings() {
Properties properties = new Properties();
try {
properties.load(new FileInputStream("db.properties"));
} catch (FileNotFoundException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
} catch (IOException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
} finally {
}
return properties;
}
/*
* 读取表
*/
public CachedRowSet getTable() {
CachedRowSet cacheRowSet = null;
try {
cacheRowSet = new CachedRowSetImpl();
} catch (SQLException e1) {
// TODO 自动生成 catch 块
e1.printStackTrace();
}
String sql = "select * from news";
getConnection();
try {
pstmt = connection.prepareStatement(sql);
rs = pstmt.executeQuery();
cacheRowSet.populate(rs);
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
} finally {
try {
connection.close();
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
return cacheRowSet;
}
public static void main(String[] args) {
BaseDao baseDao = new BaseDao();
CachedRowSet cacheRowSet = baseDao.getTable();
try {
// ResultSetMetaData rsMd=rs.getMetaData();
// RowSetMetaDataImpl rowSet=rsMd.;
// rowSet.
while (cacheRowSet.next()) {
for (int i = 1; i <= 2; i++) {
System.out.println(cacheRowSet.getObject(i));
}
}
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
}
- jdbc关闭连接读取数据
- JDBC连接与关闭
- JDBC连接Oracle并读取数据的例子
- jdbc,关闭连接工具类
- JDBC 连接数据库,关闭数据库连接
- JDBC读取SciDB数据
- 读取配置文件进行jdbc连接
- jdbc 连接Msql 数据
- JDBC连接数据
- jdbc连接数据
- JDBC数据连接
- 数据连接:JDBC+MySql
- jdbc数据连接
- 3.JDBC XmlConfigReader类,读取连接数据库配置数据,把读取的数据封装在类JdbcConfig中
- jdbc读取数据库文本数据
- JDBC连接关闭之工具类
- org.hibernate.util.JDBCExceptionReporter# 关闭的连接(或者无法从套接字读取更多数据)
- 使用JDBC-ODBC连接SQLServer数据库后读取数据库中表的数据代码
- 关于Flash内存清理(转)
- asp.net中打开新窗口的多种方法(转载)
- 修改
- 老板教育了咱
- 实用ASP.NET七大内置对象详解
- jdbc关闭连接读取数据
- flash AVM2的开源意味着什么
- oracle数据库应用
- 【2010年1月8日】今天写个QQ聊天分析器,哎,用来T人的。。
- 对我说
- reactos操作系统实现(176)
- 关于大型网站的数据同步机制的试想
- 基于java技术的搜索引擎的实现
- java读取xml