<select id="selectAllAndByproduct_line" parameterType="hashmap" resultMap="ExtendResultMap" > SELECT t.id tid,t.name tname,p.* FROM project_template t INNER JOIN project_project p ON p.template_id = t.id where p.state=1 <if test="lineId!=null and lineId!=''"> and p.product_line in <foreach item="item" index="index" collection="lineId" open="(" separator="," close=")"> #{item} </foreach> </if> <if test="lineIdChild!=null and lineIdChild!=''"> and p.child_product_line in <foreach item="item" index="index" collection="lineIdChild" open="(" separator="," close=")"> #{item} </foreach> </if> <if test="name!=null and name!=''"> and p.name LIKE '%'+#{name}+'%' </if> order by p.id </select>
Map<String, Object> paramMap =new HashMap<String, Object>(); List<Integer> lineIdList=new ArrayList<Integer>();//定义产品线id集合 List<Integer> lineIdChildList=new ArrayList<Integer>();//定义子线id集合 //获取产品线指定的id-点击对应的产品线获取的id String pageNum=request.getParameter("pageNum");//当前页 String pageSize=request.getParameter("pageSize");//页数量 String lineIdName =request.getParameter("lineId");//获取产品线id字符串 String lineIdChildName =request.getParameter("lineIdChild");//获取子线id,并拆分为数组 String reachName=new String(((request.getParameter("reachName")==null||"".equals(request.getParameter("reachName")))?"":request.getParameter("reachName")).getBytes("iso-8859-1"),"utf-8"); System.out.println("当前页"+pageNum+" 页数量"+pageSize+" 产品线id为:"+lineIdName+" 子线id为:"+lineIdChildName+" 搜索的名称为:"+reachName); //产品线id if(lineIdName!=null && !"".equals(lineIdName)) { String lineId [] =lineIdName.split(",");//将产品线id字符串拆分为数组 for (int i = 0; i < lineId.length; i++) { System.out.println("异步显示产品线的id为:"+lineId[i]); lineIdList.add(Integer.parseInt(lineId[i]));//将产品线id放到产品线集合中 } paramMap.put("lineId",lineIdList);//传递的是产品线id集合 } else { paramMap.put("lineId",null);//传递的是产品线id为空 } //子线id if(lineIdChildName!=null&&!"".equals(lineIdChildName)) { String lineIdChild []=lineIdChildName.split(",");//将子线id字符串拆分为数组 for (int i = 0; i < lineIdChild.length; i++) { lineIdChildList.add(Integer.parseInt(lineIdChild[i]));////将子线id房到集合中 } paramMap.put("lineIdChild",lineIdChildList);//传递的是子线id集合 } else { paramMap.put("lineIdChild",null);//传递的是子线id为空 } //分页中 if(pageSize!=null&&!pageSize.equals("")) { if(pageNum!=null&&!pageNum.equals("")) { Integer exterNum = (Integer.parseInt(pageNum)-1)*Integer.parseInt(pageSize); paramMap.put("exterNum", exterNum); }else{ paramMap.put("exterNum", 0); } } else { pageSize="5";//默认页面数量为5个 if(pageNum!=null&&!pageNum.equals("")) { Integer exterNum = (Integer.parseInt(pageNum)-1)*Integer.parseInt(pageSize); paramMap.put("exterNum", exterNum); }else{ paramMap.put("exterNum", 0); } } paramMap.put("pageSize", pageSize); paramMap.put("name", reachName); //获取全部的查询信息集合 List<ProjectProjectExpandTwo> ProjectProjectExpandTwoList= projectService.selectAllAndByproduct_line(paramMap); Integer countnum=ProjectProjectExpandTwoList.size();//将总数传递到页面 request.setAttribute("countnum", countnum);//将查询的总页数放到界面上 //获取分页后的全部的查询信息集合 List<ProjectProjectExpandTwo> ProjectProjectExpandTwoListFY= projectService.selectAllAndByproduct_lineFY(paramMap);
相关推荐
通过mybatis的拦截器,实现为所有sql(或指定sql) 统一添加查询条件,譬如通过线程变量传递某参数(日期),来实现对指定参数的数据筛选,而不需要在每个查询前,手动将该条件注入到查询中。因该资料网络较少,故特此...
在IT行业中,SpringMVC、Spring和Mybatis是三大核心框架,它们的组合通常被称为"SSM"(Spring MVC + Spring + Mybatis)架构。这个压缩包文件的标题表明它包含的是SSM框架所需的全部库文件,对于开发基于Java的Web...
Mybatis基于注解实现多表查询功能 Mybatis基于注解实现多表查询功能是指使用Mybatis框架中的注解来实现多表查询的功能。这种方法可以简化配置,提高开发效率。下面我们将详细介绍如何使用Mybatis基于注解实现多表...
MyBatis动态条件通用查询是数据库操作中常见的一种需求,它允许开发者在不编写大量重复SQL语句的情况下,根据传入的参数灵活地执行查询。这个功能的核心在于利用MyBatis的动态SQL特性,结合Map数据结构来构建可变的...
例如,用户可以通过前端界面输入特定条件(如时间范围、温度范围等)进行查询,Struts2会接收到这些条件参数,然后调用Spring管理的Service,Service再通过MyBatis3的Mapper接口执行带有条件的分页SQL查询,最终返回...
Mybatis框架(条件查询)
mybatis一对多的查询方法详解! mybatis一对多的查询方法详解! mybatis一对多的查询方法详解! mybatis一对多的查询方法详解!
mybatis分页插件支持查询~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
在本示例中,"mybatis递归查询菜单树"是一个基于SpringBoot架构的应用,它演示了如何利用MyBatis进行递归查询来构建菜单树结构。此外,这个项目还集成了JTA(Java Transaction API)以支持分布式事务处理,并使用了...
MybatisGenerator本身是没有提供查询指定字段的,例如数据库有5个字段,我想查询其中3个字段的全部记录,这是做不到的。经过研究MybatisGenerator实现原理,在保证原有功能的基础上,实现了生成查询指定字段的相关...
Mybatis框架(子查询)
在MyBatis中,多条件查询是常见的需求,特别是在处理复杂业务逻辑时。`collection`标签的使用使得我们可以实现主查询与子查询的嵌套,从而在一个查询操作中获取到多个关联的数据集合。以下是对`mybatis collection ...
在使用mybatis框架对Oracle数据库进行查询操作时,如果使用char类型字段作为查询条件,可能会出现结果返回null的问题。这种情况下,需要对char类型字段进行特殊处理,以确保查询结果的正确性。 首先,需要了解...
总结而言,MyBatis-GUI 0.96版是一个功能强大的数据库管理和代码生成工具,它简化了SQL编写和MyBatis的配置过程,特别是在处理多条件查询、排序、分页等方面表现出色。对于Windows环境下的Java开发团队,它能显著...
内容概要:本文介绍了...内容关键词:MyBatis、动态SQL、条件查询、SQL标签、灵活构建。 用途:通过本文的学习,读者将能够掌握MyBatis动态SQL的使用方法,提高数据库查询的效率和灵活性,优化代码质量和可维护性。
"Spring 多数据源处理_Mybatis 实现跨库查询" 本文主要讨论了 Spring 框架中多数据源的处理方法,特别是使用 Mybatis 实现跨库查询。在大型应用中,为了提高系统的水平伸缩性,需要对数据进行切分,并且采用多个...
PageHelper是Mybatis的一个强大插件,它实现了对数据库的分页查询功能,使得在处理大数据量时能有效地提高性能并优化用户体验。 首先,我们来理解一下分页查询的基本概念。分页查询是指在数据量较大的情况下,将...
在分页查询场景下,MyBatis会被用来执行带有分页条件的SQL查询。 以下是实现分页查询的步骤: 1. **创建JSP页面**:在JSP页面上,创建一个表单来接收用户的分页参数,如当前页和每页记录数。此外,还需展示从...
MyBatis 是一款著名的 Java 持久层框架,它提供了强大的 SQL 查询能力和灵活的数据映射功能,使得数据库操作变得更加简单。在这个“mybatis基础分页,高级查询”项目中,我们将深入探讨 MyBatis 如何实现高效且复杂...