java-实现分页功能


一、常见的分页实现方式
①使用List接口中的subList(int startIndex,int endIndex)方法实现分页
②直接使用数据库SQL语句实现分页
③使用hibernate等框架实现跨数据库的分页
->> 使用subList()实现分页
缺点:效率低,每次需要把数据全部取出来


 ->> 使用SQL语句实现分页
  利用数据库自带的分页语法,使用分页语句,获取分页数据(例如mysql数据库使用limit关键字,oracle中使用rownum关键字等)
  MySql查询语句---select * from t_student limit 0,10

 PostgreSQL查询语句 -- select * from t_student limit 10 offset 0

 Oracle查询语句 
	-- select * from
	   (
	    select s.*,rownum rn
  	    from (select * from t_student) s
	    where rownum <= 10
	    )
	    where rn >= 1

->> 使用hibernate框架进行分页
    创建 Query 或者 Criteria 对象 ,查询时,设置firstResult 和 maxResult属性
    String hql = "from Student";
    Query q = session.createQuery(hql);
    q.setFirstResult(0);
    q.setMaxResults(10);
    List l = q.list();

另外--MyBatis 本质上是第二种SQL语句的实现

Java 泛型

Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。

泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。

假定我们有这样一个需求:写一个排序方法,能够对整形数组、字符串数组甚至其他任何类型的数组进行排序,该如何实现?

答案是可以使用 Java 泛型

使用 Java 泛型的概念,我们可以写一个泛型方法来对一个对象数组排序。然后,调用该泛型方法来对整型数组、浮点数数组、字符串数组等进行排序。


1  异常处理的原则 有了异常经量不要吞掉,应该把它shrows出去,交给上层进行处理
throw RuntiemException(提示信息 e)
2 使用preparedStatement的好处。将sql语句和参数隔离开,便于维护,防止sql注入(出于安全考虑)
3 加载配置文件
获取文件,InputStream inputstream=类名.class.getResourceAsStream(“配置文件目录”)
properties prop=new properties()。加载prop.load(inputStream);在传值prop、getproperty(属性名)
方法加入到静态块,每次运行jdbcUtil类 加载一次
(修改配置文件后,重启服务器)

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值