原文地址:
与resultset相比,rowset默认是可滚动、可更新、可序列化的结果集,而且作为javabean使用,因此能方便的在网络上传输,用于同步两端的数据,对于离线rowset而言,程序在创建rowset时已经把数据从底层数据库读取到了内存,因此可以充分利用计算机的内存,从而降低数据库服务器的负载,提高程序性能。rowset接口继承了resultset接口。
rowset接口的实现类如下:
使用rowset的优点如下:
jdbcrowset rowset = rowsetprovider.newfactory().createjdbcrowset(); rowset.seturl("jdbc:mysql://localhost:3306/test"); rowset.setusername("root"); rowset.setpassword("root"); rowset.setcommand("select * from t_user"); rowset.execute();
nolistenerrowsetdemo:
package com.yiidian; import javax.sql.rowset.jdbcrowset; import javax.sql.rowset.rowsetprovider; import java.io.*; import java.sql.*; /** * 一点教程网 - http://www.yiidian.com */ public class nolistenerrowsetdemo { public static void main(string args[])throws exception { class.forname("com.mysql.jdbc.driver"); jdbcrowset rowset = rowsetprovider.newfactory().createjdbcrowset(); rowset.seturl("jdbc:mysql://localhost:3306/test"); rowset.setusername("root"); rowset.setpassword("root"); rowset.setcommand("select * from t_user"); rowset.execute(); //移动光标,获取记录 while (rowset.next()) { system.out.print("编号: " + rowset.getint(1)+"\t"); system.out.print("名称: " + rowset.getstring(2)+"\t"); system.out.print("密码: " + rowset.getstring(3)); system.out.println(); } } }
要使用jdbcrowset执行事件处理,您需要在jdbcrowset的addrowsetlistener() 方法中添加rowsetlistener的实例。
rowsetlistener接口提供3种必须实现的方法:
public void cursormoved(rowsetevent event); public void rowchanged(rowsetevent event); public void rowsetchanged(rowsetevent event);
haslistenerrowsetdemo:
package com.yiidian; import javax.sql.rowsetevent; import javax.sql.rowsetlistener; import javax.sql.rowset.jdbcrowset; import javax.sql.rowset.rowsetprovider; import java.io.*; import java.sql.*; /** * 一点教程网 - http://www.yiidian.com */ public class haslistenerrowsetdemo { public static void main(string args[])throws exception { class.forname("com.mysql.jdbc.driver"); jdbcrowset rowset = rowsetprovider.newfactory().createjdbcrowset(); rowset.seturl("jdbc:mysql://localhost:3306/test"); rowset.setusername("root"); rowset.setpassword("root"); rowset.setcommand("select * from t_user"); rowset.execute(); //给rowset添加事件监听处理 rowset.addrowsetlistener(new mylistener()); //移动光标,获取记录 while (rowset.next()) { system.out.print("编号: " + rowset.getint(1)+"\t"); system.out.print("名称: " + rowset.getstring(2)+"\t"); system.out.print("密码: " + rowset.getstring(3)); system.out.println(); } } } //事件监听处理类 class mylistener implements rowsetlistener { public void cursormoved(rowsetevent event) { system.out.println("光标移动..."); } public void rowchanged(rowsetevent event) { system.out.println("光标改变..."); } public void rowsetchanged(rowsetevent event) { system.out.println("rowset改变..."); } }
欢迎关注我的公众号::一点教程。获得独家整理的学习资源和日常干货推送。
如果您对我的系列教程感兴趣,也可以关注我的网站:
如对本文有疑问, 点击进行留言回复!!
荐 嵌入式linux开发环境搭建(Docker版,基于iTop 4412开发板)
SpringBoot项目部署到服务器之 Liunx环境安装jdk详细步骤
网友评论