编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

开源工具:Apache的数据库操作工具包DBUtils和分页处理

wxchong 2024-09-19 06:01:54 开源技术 16 ℃ 0 评论

DBUtils概念

主要封装了JDBC的代码,简化dao层的操作

对于数据表的操作,可以把结果转换成List,Array,Set等集合,方便开发人员操作

对于数据表的写操作,也变得很简单,只需要写sql语句

为什么使用DBUtils框架

在使用DBUtils前,我们Dao层操作数据库的技术是JDBC,我们来看一下弊端

  1. 数据库连接对象、SQL语句操作对象、封装结果集对象,这三个大对象会重复定义;
  2. 封装数据的代码重复,而且操作复杂,代码量大;
  3. 释放资源的代码重复;
  4. 开发中会有大量重复劳动,开发的效率低,周期长。

DBUtils之ResultSetHandle核心接口

该接口规范了对ResultSet的操作,要对结果集进行某种操作,传入ResultSetHandler接口的实现类即可

  • ArrayHandler:把结果集中的第一行数据转成对象数组。
  • ArrayListHandler:把结果集中的每一行数据都转成一个数组,再存放到List中。
  • BeanHandler:将结果集中的第一行数据封装到一个对应的JavaBean实例中。
  • BeanListHandler:将结果集中的每一行数据都封装到一个对应的JavaBean实例中,存放到List里。
  • ColumnListHandler:将结果集中某一列的数据存放到List中。
  • KeyedHandler(name):将结果集中的每一行数据都封装到一个Map里,再把这些map再存到一个map里,其key为指定的key。
  • MapHandler:将结果集中的第一行数据封装到一个Map里,key是列名,value就是对应的值。
  • MapListHandler:将结果集中的每一行数据都封装到一个Map里,然后再存放到List
  • ScalarHandler 将ResultSet的一个列到一个对象中。

分页处理

在页面中不可能将数据全部显示在一个页面里,所以我们使用到分页技术。这里看看mysql的一个 分页公式,集合上门的工具一起使用,还是很溜的。

select * from table limit (page-1)*rowsize,rowsize

可以简单理解为select * from table limit 起始行号,一页显示几行

如果一页显示10行,看第一页,则把数据传给

page select * from table limit (1-1)*10,10

这个还是比较简单的,想显示第几页把参数传到page里就行 比如显示第二页,我们把2传给第一个参数page则 :

select * from table limit (2-1)*10,10

如果一页想显示X行,则把X给第二个参数(rowsize)即可。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表