Page 常用的方法 基础的查询

来源:互联网 发布:小程序企业展示源码 编辑:程序博客网 时间:2024/05/18 02:00
public Page<User> getOrganizationUsers(Organization org,String code, String name, String status,String loginName, int pageNo,
            int pageSize) {
        StringBuilder hql = new StringBuilder("from User u where 1=1 ");
        if(org!=null) {
            hql.append(" and Organization =:org");
        }
        if(!StringUtil.isNullOrSpace(code)) {
            hql.append(" and u.code =:code");
        }
        if(!StringUtil.isNullOrSpace(name)) {
            hql.append(" and u.name =:name");
        }
        if(!StringUtil.isNullOrSpace(status)) {
            hql.append(" and u.disabled =:status");
        }
        if(!StringUtil.isNullOrSpace(loginName)) {
            hql.append(" and u.loginName =:loginName");

        }

        hql.append(" order by u.order,u.id");
        Query query = HibernateUtil.createQuery(hql.toString());

        Page<User> page = new Page<User>(query,pageNo,pageSize);


        if(org!=null) {
            page.getQuery().setEntity("org", org);
            page.getSizeQuery().setEntity("org", org);
        }
        if(!StringUtil.isNullOrSpace(code)) {
            page.getQuery().setString("code", code);
            page.getSizeQuery().setString("code", code);
        }
        if(!StringUtil.isNullOrSpace(name)) {
            page.getQuery().setString("name", name);
            page.getSizeQuery().setString("name", name);
        }
        if(!StringUtil.isNullOrSpace(status)) {
            page.getQuery().setBoolean("status", "T".equals(status));
            page.getSizeQuery().setBoolean("status", "T".equals(status));
        }
        if(!StringUtil.isNullOrSpace(loginName)) {
            page.getQuery().setString("loginName", loginName);
            page.getSizeQuery().setString("loginName", loginName);
        }
        return page;
    }

0 0
原创粉丝点击