zoukankan      html  css  js  c++  java
  • Java Web----Java Web的数据库操作(三)

    Java Web的数据库操作

           前面介绍了JDBC技术和JDBC API及API的使用示例,下面详细介绍JDBC在Web中的应用。

          Java Web----Java Web的数据库操作(一)

            Java Web----Java Web的数据库操作(二)

    四、JDBC在Java Web中的应用

           通常情况下,Web程序操作数据库都是通过JDBC实现,即使目前数据库方面的开源框架有许多,但其底层实现都离不开JDBC API。

    1、开发模式

           在Java Web开发中使用JDBC,应遵循MVC的设计思想,从而使Web程序拥有一定的健壮性、可扩展性。每个Java Web程序员都应该深谙MVC的设计思想,下面对其简单介绍。

           MVC(Model-View-Controller)是一种设计理念,该理念将软件分成3层结构,分别为模型层、视图层和控制层。

    •  模型层泛指程序中的业务逻辑,用于处理真正的业务操作;
    •  视图层是指程序与用户交互的界面,对用户呈现出视图,但不包括业务逻辑;
    •  控制层是对用户各种请求的分发处理,将制定的请求分配给制定的业务逻辑进行处理。

           JDBC应用于Java Web开发中,处于MVC中的模型层位置,如图所示:

          客户端通过JSP页面与程序进行交互,对于数据的增、删、改、查请求由Servlet对其进行分发处理,如Servlet接收到添加数据请求,就会分发给增加数据的JavaBean对象,而真正的数据库操作是通过JDBC封装的JavaBean进行实现。

    2、分页查询

           分页查询用于在数据库量非常大,不适合将所有数据显示在一页中的情况。通过JDBC实现分页查询的方法有很多种,而且不同的数据库机制也提供了不同的分页方式,在这里介绍两种非常典型的分页方法:

           1)、通过ResultSet的光标实现分页

            ResultSet为查询结果集对象,在该对象中有一个“光标”的概念(可以参考第一篇中的JDBC API介绍),光标通过上下移动定位查询结果集中的行,从而获取数据。所以通过移动“光标”,可以设置ResultSet对象中记录的起始位置和结束为止,来实现数据的分页显示。

           2)、通过数据库机制进行分页

           很多数据库自身都提供了分页机制,如SQL Server中提供的top关键字,MySQL中提供的limit关键字,他们都可以设置数据返回的记录数。

           下面是MYSQL数据库提供的分页机制,关键代码如下:

                  String sql = "SELECT * FROM tb_book ORDER BY id DESC LIMIT ?,?";
    
                  PreparedStatement ps = connection.prepareStatement(sql);
    
                  ps.setInt(1, (page - 1)*Book.PAGE_SIZE);//page为页数
    
                  ps.setInt(2, Book.PAGE_SIZE);
    
                  ResultSet rs = ps.executeQuery();
    


           Limit关键字能够控制查询数据结果集起始位置及返回记录的数量,它的两个参数分别用于指定查询记录的其实位置和所返回的记录数。而返回总记录数可以使用以下方法:

                 

    int count = 0;
    
                  String sql = "SELECT count(*) FROM tb_book";
    
                  Statement statement = connection.createStatement();
    
                  ResultSet resultSet = statement.executeQuery(sql);
    
                  if (resultSet.next()) 
    
                         count = resultSet.getInt(1);
    
    

           下面是一个使用MySQL数据库实现分页查询的源码,可以参考下:

     http://download.csdn.net/detail/zhai56565/5885775

     

     

  • 相关阅读:
    CocosCreator 手动设置刚体接触回调函数
    CocosCreator 组件添加依赖的其它组件
    Cocos Creator 动画控制
    Cocos Creator Editor 扩展右键菜单
    CocosCreator 代码添加点击事件函数
    jsfl 读取xml
    Markdown 箭头
    Markdown 数学公式输入
    Cocos Creator Editor 创建.anim文件
    VS2017调试技巧
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3243754.html
Copyright © 2011-2022 走看看