当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:12:00  来源:本站整理

jdbc中的离线数据集入门[Java编程]

赞助商链接



  本文“jdbc中的离线数据集入门[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

假如在开辟利用的时刻没有利用任何长期层框架,而是直接利用jdbc 的api编程的话,大家最长利用的就是ResultSet接口举行数据的读取了,但是大家也会认为很不便利,因为ResultSet是在线的数据集,在读取数据的历程中不能断开数据库联接,只有读取数据完成后才能close掉相关对象.

其实java也供应了离线的数据集,那就是RowSet接口以及相关的 子接口.并且sun在jdk里面供应一个默许的实现,并且象oracle这样对比大型的数据库驱动里面也供应自己的RowSet实现.

下面以sun的默许 实现来阐明离线数据的利用吧,数据库为sql Server 2000,衔接的数据库为Northwind.

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.sql.RowSet;
import com.sun.rowset.CachedRowSetImpl;
public class RowSetDemo {
public static RowSet query(Connection connection, String sql)
throws SQLException {
//利用sun的默许RowSet实现
CachedRowSetImpl rowset = new CachedRowSetImpl();
//查询没有任何改变
Statement statement = connection.createStatement();
ResultSet rs = statement.executeQuery(sql);
//这里就是填充离线集
rowset.populate(rs);
//都可以关闭了,爽吧
rs.close();
statement.close();
return rowset;
}
public static void main(String[] args) throws Exception {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String connectionUrl = "jdbc:sqlserver://127.0.0.1:1433;database=Northwind;
user=sa;password=huhuiyu";
Connection connection = DriverManager.getConnection(connectionUrl);
RowSet rs = query(connection, "select * from Customers order by CustomerID;");
//关闭衔接也没有关系了.
connection.close();
//和ResultSet利用一样.
while (rs.next()) {
System.out.print(rs.getString(1) + " : ");
System.out.println(rs.getString("CompanyName"));
}
}
}运行上面的例子就会将Customers的前两列的数据显示出来.其实RowSet还可以完成份页的功效.请看下面的办法.
public static RowSet query(Connection connection, String sql, int pageSize,
int pageNumber) throws SQLException {
CachedRowSetImpl rowset = new CachedRowSetImpl();
//如果可以转动的后果集
Statement statement = connection.createStatement(
ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
ResultSet rs = statement.executeQuery(sql);
//设定分页大小
rowset.setPageSize(pageSize);
//计算一下开始游标位置
int skip=(pageNumber - 1) * pageSize + 1;
//可以填充了
rowset.populate(rs, skip);
rs.close();
statement.close();
return rowset;
}
public static void main(String[] args) throws Exception {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String connectionUrl = "jdbc:sqlserver://127.0.0.1:1433;database=Northwind;
user=sa;password=huhuiyu";
Connection connection = DriverManager.getConnection(connectionUrl);
//分页查询
RowSet rs = query(connection, "select * from Customers order by CustomerID;",5,2);
//关闭衔接也没有关系了.
connection.close();
//和ResultSet利用一样.
while (rs.next()) {
System.out.print(rs.getString(1) + " : ");
System.out.println(rs.getString("CompanyName"));
}
}

假如你不利用长期层,那么利用离线数据集可以很好的办理分页和数据库衔接的问题.但愿这篇入门的教程可以帮忙到你.


  以上是“jdbc中的离线数据集入门[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 用JDBC衔接数据库
  • 得到JDBC学习示例
  • <b>JDBC API为什么若何复杂</b>
  • 配置BEA WebLogic 8.1 JDBC衔接
  • 操作easymock测试jdbc解析
  • 安置cas服务器实现定制JDBC考据
  • <b>简单的JDBC操纵程序for Java DB</b>
  • JDBC衔接数据库经验本领集萃
  • <b>JDBC衔接数据库之十大本领</b>
  • 掌握器组件JDBC数据库操作的JAVABEAN
  • SQLiteJDBC 100%纯JAVA的sqlite扩大
  • 浅析数据源在JDBC中的操纵
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .