JavaWeb项目之多条件过滤

本文介绍了在JavaWeb项目中实现多条件过滤和分页查询的详细步骤。通过封装QueryObject和PageResult类,处理用户传递的参数,执行SQL查询并计算相关数据。在页面展示时,利用EL和JSTL获取并显示结果。高级查询部分,通过EmployeeQueryObject类封装查询条件,结合动态SQL实现过滤查询。整个过程强调了数据封装的重要性,并提供了问题解决思路。
摘要由CSDN通过智能技术生成

相信很多同学在学习java基础之后,面对各种项目还是相当头疼,那今天我将手把手教你学会JavaWeb项目中的多条件过滤,希望你能在与我实战的过程中积累经验,更进一步。

分页查询

需求分析:在列表页面中,显示指定条数的数据,通过翻页按钮完成首页/上一页/下一页/尾页的查询

数据分析:

通过观察,页面上需要显示下面的几个数据:
当前页:currentPage
页面大小:pageSize
总页数:totalPage
首页:1
上一页:prevPage
下一页:nextPage
尾页:endPage
总条数:totalCount
结果集:result

 

那么,我们应该如何方便快速的将这多个数据共享到页面上呢?答案是:封装

我们应该将这几个参数封装到一个对象中,然后共享这个对象即可,所以,我们有了下面这个类

@Getterpublic class PageResult {

    public static final  PageResult EMPTY_RESULT = new PageResult(Collections.EMPTY_LIST, 0, 1, 3);

    //1:两传

    private int currentPage;

    private int pageSize;

    

    //2:两查

    private List<?> result;

    private int totalCount;

    

    //3:三计算

    private int prevPage;

    private int nextPage;

    private int endPage;

    

    public PageResult(List<?> result, int totalCount, int currentPage, int pageSize){

        

        this.result = result;

        this.totalCount = totalCount;

        this.pageSize = pageSize;

        this.currentPage = currentPage;

        //计算

        this.endPage = totalCount % pageSize == 0 ?

                    totalCount / pageSize : totalCount / pageSize  + 1;

        this.prevPage = currentPage - 1 > 0 ? currentPage - 1 : 1;

        this.nextPage = currentPage + 1 > endPage ? endPage :currentPage + 1;

    }

}

在这个类中,我们提供了一个构造器来快速封装数据
其中,endPage/prevPage/nextPage是通过上面的几个参数计算得来的

在这些数据中,存在两个需要从数据库中查询得到的数据:总条数/结果集
这两个数据我们需要下面两条SQL进行查询

查询部门表中数据的总条数

SELECT count(id) FROM department

使用LIMIT关键字查询指定页面的数据

SELECT  id, name, sn FROM department LIMIT #{start}, #{pageSize}

#{start}:         使用(currentPage-1)*pageSize表达式计算出来的开始索引#{pageSize}: 每次查询的最大条数

要执行这两条SQL,需要用户传递两个参数:currentPage和pageSize
为了参数方便传递,我们将这两个参数封装到一个类中:QueryObject

@Setter@Getterpublic class QueryObject {

        // 默认查询第一页的数据

    private int currentPage = 1;

        // 页面中默认显示10条数据

    private int pageSize = 5;

    public int getStart(){

        return (currentPage - 1)*pageSize;

    }

}

可以看出,查询结果集中的#{start}表达式,是访问查询对象中的getStart()方法来获取到计算得到的开始索引

到此,我们都已经封装好了分页查询中最核心的两个类:
QueryObject:封装用户传递过来的currentPage/pageSize
PageResult:封装页面上显示需要的result/totalCount/currentPage/pageSize/totalPage/prevPage/pageSize

有了这两个类,我们就可以在service中定义下面的方法,来处理分页查询的业务了:

 

    public PageResult query(QueryObject qo) {

        //查询表中数据的总条数

        int totalCount = dao.queryForCount(qo);

        //当查询到的总条数为0时,说明没有数据,此时就不应该再之后下面的查询

        //直接返回相应的默认值即可

        if (totalCount == 0) {

            return PageResult.EMPTY_RESULT;

        }

        List<Department> data = dao.queryForList(qo);

        PageResult result = new PageResult(data, totalCount, qo.getCurrentPage(), qo.getPageSize());

        return result;

    }

该方法接收用户传递的数据(QueryObject),返回用户需要的数据(PageResult)
通过调用dao中的两个方法执行两条SQL查询数据(总条数和结果集)

<!--查询总条数--><select id="queryForCount" res

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 要导入和运行Java Web项目,您可以按照以下步骤操作: 1. 下载和安装Java开发工具包(JDK)和Eclipse集成开发环境(IDE)。 2. 打开Eclipse,选择“File”->“Import”->“Existing Projects into Workspace”,然后选择您要导入的Java Web项目。 3. 如果您的Java Web项目使用Maven或Gradle构建工具,您需要在Eclipse中配置Maven或Gradle插件。在Eclipse菜单栏中,选择“Window”->“Preferences”->“Maven”或“Gradle”,然后配置您的项目所需的设置。 4. 确保您的Java Web项目的所有依赖项都已正确导入。如果您使用Maven或Gradle构建工具,这些依赖项应该已自动导入。如果没有,您可以手动将它们添加到您的项目中。 5. 在Eclipse中,选择您的Java Web项目并右键单击,然后选择“Run As”->“Run on Server”。选择您要使用的Web服务器,例如Tomcat或Jetty。 6. 如果您是第一次运行项目,您需要配置您的Web服务器。您需要指定您的服务器运行时环境(例如Tomcat或Jetty),并将您的项目部署到该环境中。 7. 点击“Run”按钮,您的Java Web项目就会在您选择的Web服务器上运行。 以上是一般的步骤,具体步骤可能因项目类型和开发工具而异。如果您遇到问题,可以参考IDE和Web服务器的文档,或在相关开发社区中寻求帮助。 ### 回答2: 首先,要导入和运行JavaWeb项目,需要具备一些前提条件。确保已经安装了Java Development Kit(JDK)和一个支持JavaWeb开发的IDE(集成开发环境),如Eclipse、IntelliJ IDEA等。 接下来,按照以下步骤导入和运行JavaWeb项目: 1. 打开IDE,创建一个新的JavaWeb项目,或者导入已存在的项目。可以选择从版本控制系统(如Git)克隆或者直接导入项目文件夹。 2. 确保项目的构建路径(Build Path)包含必要的库文件和依赖项。这些依赖项通常是Java Servlet API和JavaServer Pages(JSP)的jar文件,它们可以在Tomcat或其他JavaWeb服务器的安装目录中找到。 3. 在IDE中配置项目的部署描述符(Deployment Descriptor)。这可以是web.xml文件,它描述了项目的配置信息,例如Servlet映射、过滤器、监听器等。 4. 配置项目的服务器运行环境。选择并配置使用的JavaWeb服务器,例如Tomcat等。在IDE中添加服务器,并将项目部署到服务器上。 5. 修改项目的配置文件,例如数据库连接参数、日志配置等。这些配置文件通常是在项目的资源文件夹中,并且可以根据具体情况进行修改。 6. 编写代码并进行调试。根据项目需求,在IDE中创建和编辑Java类、Servlet、JSP文件等,并运行项目进行调试。IDE通常提供一键启动和调试的功能。 7. 在浏览器中访问项目。获取项目的URL,例如http://localhost:8080/项目名,并在浏览器中打开。如果一切正常,应该能看到项目的首页或者其他页面。 通过按照上述步骤,您应该可以成功导入和运行JavaWeb项目。请确保按照项目的具体要求进行适当的配置和调试,以确保项目能够正常工作。 ### 回答3: 将JavaWeb项目导入并运行的步骤如下: 1. 打开Eclipse或其他Java开发工具,在工具菜单中选择“导入”(Import)选项。 2. 在导入窗口中选择“从已有的Maven项目导入”(Import Existing Maven Projects)并点击下一步。 3. 在项目导入窗口中,选择项目的根目录。确保选择的根目录包含项目的pom.xml文件,然后点击“完成”按钮。 4. 导入成功后,在IDE中找到项目的目录结构。通常,Java源代码位于“src/main/java”目录下,网页文件位于“src/main/webapp”目录下。 5. 项目依赖的JAR包通常在pom.xml文件中进行配置。如果缺少依赖的JAR包,可以在pom.xml文件中手动添加所需的依赖。 6. 确保已经配置好所需的服务器(如Tomcat)并启动服务器。 7. 在IDE中找到项目的启动文件,一般是一个Java类,并右击选择“运行为”(Run As)->“Java Web应用”(Java Web Application)。 8. 项目运行后,会自动部署到已配置的服务器上。你可以在浏览器中访问项目的URL,查看项目是否成功运行。 导入和运行JavaWeb项目需要依赖开发工具、服务器和项目配置,确保按照上述步骤正确导入项目和配置相关环境,才能成功运行项目
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值