`

findPage 去重复记录

 
阅读更多

 

action

public String list() throws Exception {
		Struts2Utils.getRequest().setAttribute("filter_EQI_fkMagCompany", Struts2Utils.getParameter("filter_EQI_fkMagCompany"));
		List<PropertyFilter> filters = HibernateUtils.buildPropertyFilters(Struts2Utils.getRequest());
		//设置默认排序方式
		if (!page.isOrderBySetted()) {
			page.setOrderBy("userId");
			page.setOrder(Page.ASC);
		}
		HttpSession session = ServletActionContext.getRequest().getSession();
		MagUser user = (MagUser) session.getAttribute("userInfo");
		level=user.getRole().getLevel();
		if(user.getRole().getLevel()==0){
			//admin特权模式
			page = accountService.searchMagUser(page, filters);
			companyList = accountService.getAllMagCompany();
		}else{
			//一般模式
			PropertyFilter companyFilter = new PropertyFilter("EQI_fkMagCompany", String.valueOf(user.getMagCompany().getCompanyId()));	
			filters.add(companyFilter);		
			page = accountService.searchMagUser(page, filters,user.getRole().getLevel());
			//没实现级联过滤,在这里过滤其他级联查询条件
		}		
		return LIST;
	}

 

service:

/**
	 * 使用属性过滤条件查询用户.
	 */
	public Page<MagUser> searchMagUser(Page<MagUser> page, List<PropertyFilter> filters) {
		return magUserDao.findPage(page, filters); 
	}

 

Dao:

public Page<MagUser> findPage(final Page<MagUser> page, final List<PropertyFilter> filters) {
		Criterion[] criterions = buildPropertyFilterCriterions(filters);
		Criteria c = createCriteria(criterions);
		c.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);//去重
		return findPage(page, c);
	}
	
分享到:
评论

相关推荐

    screenshot and find pageTag-crx插件

    语言:中文 (简体) make work easily 1、快速学习掌握业务 可快速搜索出应用有几个页面,每个页面下的功能点,点击功能点可以查看开发、测试对该功能点的说明; 同时可以快速查看网站上受其影响的其他应用的功能点。...

    《操作系统》实验五:页面置换算法模拟.pdf

    - 页面查找(findpage):通过遍历内存中的页面框架,查找某个指定页面是否已在内存中存在。 4. 算法的评价指标: 在页面置换模拟中,通常有几种评价指标来衡量不同算法的效率。 - 页面失效次数(page fault ...

    超好用的hibernate查询工具类

    工具类可以提供如`public Page&lt;T&gt; findPage(Class&lt;T&gt; entityClass, int pageNum, int pageSize, Map, Object&gt; params)`的方法,支持指定页码和每页大小,并能处理排序和过滤条件。 4. **统计查询**:对于需要统计...

    hibernate分页

    4. **DAO(Data Access Object)层** - 包含接口和实现,提供与数据库交互的方法,如findPage(),用于执行分页查询。 5. **Service层** - 实现业务逻辑,调用DAO层的方法来获取分页数据。 6. **Test类** - 使用JUnit...

    详解angular分页插件tm.pagination二次触发问题解决方案

    //更新总记录数 }); }; }); ``` 在此示例中,我们利用了JavaScript中的异步执行特性,通过setTimeout函数来延时设置reload变量为true,从而避免了在数据请求完成后的那一刻立即将reload设置为true,从而防止了第...

    MyBatis分页查询助手源代码

    MyBatis分页查询助手源代码 1、分页查询, 约定查询方法名为 “findPage” 2、调用分页插件进行分页查询 3、将分页信息封装到统一的接口

    G11接口文档1

    1. **分页查询用户信息**:使用GET方法,通过`http://localhost:8000/user/findPage`获取用户列表。请求参数包括`pageNum`(当前页数,默认为1)和`pageSize`(每页显示数量,默认为10),可选参数`search`用于按...

    《操作系统》实验五:页面置换算法模拟2.pdf

    其中,`initialize()`函数负责初始化相关数据,`createps()`生成随机访问序列,`displayinfo()`用于显示状态,`fifo()`和`lru()`分别实现了FIFO和LRU算法,`findpage()`查找页面是否在内存,`invalidcount`记录缺页...

    《操作系统》实验五:页面置换算法模拟.doc

    `findpage()`用于查找页面是否在内存,`invalidcount`记录缺页次数,`vpoint`是页面访问指针,`pageframe`和`pagehistory`数组分别存储页框和页面访问历史,`rpoint`和`inpflag`用于页面替换和缺页标志。 6. **数据...

    单元测试管理员样例1

    3. **UserControllerTest1.FindPage1(pageNum, pageSize, search)**: 这个方法是分页查询用户数据的测试,它接收页码`pageNum`、每页大小`pageSize`和搜索条件`search`,并期望返回所有或满足搜索条件的用户数据。...

    本人写的Hibernate超级通用DAO

    3. **分页查询**:在大型项目中,通常需要实现分页功能,我们可以提供`List&lt;T&gt; findPage(int pageSize, int currentPage, Criteria criteria)`方法,支持按条件分页查询。 4. **排序**:允许用户自定义排序规则,...

    Linux 内核云上实验指导3(新)1

    每个 `vm_area_struct` 对象代表虚拟地址空间中的一个连续区域,记录了区域的起始和结束地址、权限、文件映射、保护标志等信息。`listvma` 功能的实现需要遍历进程的 `mm_struct` 中的 `mmap` 双链表,逐个打印出 `...

    用struts实现的分页

    为了实现分页,我们需要在Action类中添加处理分页逻辑的方法,如`findPage()`。这个方法会根据用户的请求参数,从数据库中查询相应页的数据,并返回一个包含当前页数据及总页数的对象。 2. **DAO(Data Access ...

    《操作系统》实验五页面置换算法模拟.pdf

    //记录页框中数据的访问历史 int rpoint; //页面替换指针 int inpflag; //缺页标志,0 为不缺页,1 为缺页 struct PageInfo //页面信息结构 { int serial[100]; // 模拟的最大访问页面数,实际控制在 20 以上 ...

    js前台分页显示后端JAVA数据响应

    在示例代码中,`writePageList`函数用于构建分页链接,`findPage`函数负责接收页码参数并发送Ajax请求到服务器。例如,`&lt;a&gt;`标签的`onclick`属性绑定`findPage`函数,当用户点击时触发请求。 3. **Ajax请求**: ...

    Flutter底部导航栏的实现方式

    在本文中,我们创建了四个界面:HomePage、ConstantPage、FindPage 和 MyPage。 每个界面都包含了一个 Scaffold 组件,用于提供基本的Material Design布局结构。然后,我们在 body 中添加了一个 Center 组件,并在...

    分页助手使用demo

    List&lt;Animal&gt; findPage(@Param("page") Page&lt;Animal&gt; page); } ``` 在服务层(Service)中,我们可以调用Mapper接口的方法进行数据操作,并配合PageHelper进行分页: ```java @Service public class ...

    mercurial hg 扩展

    部分内容涉及到Mercurial API的使用,包括登录MercurialApi、RecentChanges、FindPage、HelpContents等,这些都是Mercurial API提供的不同功能模块。页面指出,这个API主要用于Mercurial的开发者,提供对Mercurial...

    单元测试用户样例1

    输入参数包括页码、每页大小和搜索关键字,返回结果是数据库中匹配的`Wall`数据列表以及一句"findPage 测试成功!"的确认信息。 3. `insertWall()`方法的测试则关注了向`/wall/insertWall`路径插入`Wall`对象。通过...

Global site tag (gtag.js) - Google Analytics