⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readme.txt.svn-base

📁 文件上传用例,纯sql分页源码,有用的着地方请下载 试用
💻 SVN-BASE
字号:

致谢:
   在这里我要感谢好友软件日志,是他在我的软件生涯中提出了很多有意义的想法!是他在我烦恼的时候
   陪我聊天!
         
说明:

(1)写分页程序的相关类的想法来源于好友(软件日志:qq呢称)。并由他提出了ms sqlserver下的分页sql的实现,
个人感觉不错,故产生了完成相关通用类的念头

(2)ms sqlserver下的分页sql原理:通过正序与反序记录集之差获得所需页的记录集。
参见:org.derrick.jdbc.page.sql.MssqlPageSqlHelper
设有表:CREATE TABLE[pageDemo] (
        [id] [int] NOT NULL ,
        [name] [nvarchar] (50)  ,
        [createDate] [datetime] 
    ) 
 当然id是主键啦。,设共有1000条记录,id的值从1到1000,每页记录数为100。
 则:select top 100 * from 
      (select top 1000 * from pageDemo a order by a.id desc) b
      order by b.id asc
返回第1页记录。

 则:select top 100 * from 
      (select top 800 * from pageDemo a order by a.id desc) b
      order by b.id asc
返回第3页记录。
(3)my sql 下的分页原理是利用limit,参见org.derrick.jdbc.page.sql.MysqlPageSqlHelper
 (4)oracle 分页原理是利用rownum,参见org.derrick.jdbc.page.sql.OraclePageSqlHelper
(5) 第三方库文件:log4j.jar,commons-beanutils.jar,jtds.jar(mssqlserver数据库驱动)

 (6)  运行test 之前请先检查是否拥有相关的数据库驱动:
  参见配置文件oracle.config(oracle官方驱动)mssqldb.config(微软官方驱动),mssqljtdsdb.config(jtds驱动),mysqldb.config(mysql官方驱动)
   并创建相应的测试表:  
  //oracle  
  CREATE TABLE pageDemo  (
        id number(10) NOT NULL ,
        name nvarchar2(50)  ,
        createDate date ,
		CONSTRAINT KEY PRIMARY KEY (ID)
		    ) ;
  
  //mysql
  CREATE TABLE  `pagedemo` (
       `id` int(10) unsigned NOT NULL default '0',
       `name` varchar(45) default NULL,
        `createDate` datetime default NULL,
        PRIMARY KEY  (`id`)
      ) ENGINE=InnoDB DEFAULT CHARSET=gbk;
  
  //ms sqlserver
  CREATE TABLE [pageDemo] (
	[id] [int] NOT NULL ,
	[name] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
	[createDate] [datetime] NOT NULL 
) ON [PRIMARY]
GO
ALTER TABLE [pageDemo] ADD 
	CONSTRAINT [PK_pageDemo] PRIMARY KEY  CLUSTERED 
	(
		[id]
	)  ON [PRIMARY] 
GO

总结:目前这组通用类只提供了oracle、mysqlser、mysql三种版本的代码,其余数据库版本代码有兴趣的朋友可以实现,不过sysbase数据库
我没有找到对应的实现方式,具体使用方法参见test类:org.derrick.jdbc.page.TestPageHelper及对应数据库子类。
欢迎交流!我的qq是370922517(llz),邮箱:liudongbaollz@sohu.com   

源码还包括部分工作过程使用的工具类,有兴趣的朋友可以自己看看      

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -