博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用户模块 之 根据条件查询用户
阅读量:5309 次
发布时间:2019-06-14

本文共 5097 字,大约阅读时间需要 16 分钟。

实现用户显示的状态以及查看页面的后续功能

 

 

初始时数据库用户的状态为:

 

初始时用户列表页面的显示:

 

 通过代码进行动态显示的效果图:

进行修改数据库的状态:

显示出来的效果:

 

 

 

只需在user_list.jsp找到状态的那一列进行一个判断即可,将其代码修改为:

已启用
未启用

接下来需要进行实现的功能有

1、停用

2、编辑

3、修改

4、查询

5、添加

6、批量删除

 

 

 

分析根据条件查询用户

可以将上面的功能分为两个模块:

1、查询模块

2、增删改

需要在数据库中添加一个字段createtime

 

 在user实体中进行添加:

private String createtime;//通过添加该字段方便进行查询

 需要用到的流程图:

 

三个参数,分别是页面搜索部分start表示开始日期 end标识结束日期 username表示用户名,在本次的根据条件查询需要访问二次数据库,一次是数目,一次是list

 

在数据库中进行测试一下:

 

 

 加入limit表示的是分页,需要使用到pageBean

 

书写根据条件查询

 

在user-list.jsp中加入搜索表单的action中加入:

 

 

 

在User_Action.java中写入getPageBeanByCondition方法,再其中封装pageBean:

 

//通过条件得到pageBean    public String getPageBeanByCondition() throws Exception {                //如果用户传递的start为空,那么我们将时间设置为0001-01-01        if(start.isEmpty())        {            start="0001-01-01";        }        //如果用户传递的end为空,那么我们将时间设置为9999-12-31        if(end.isEmpty())        {            end="9999-12-31";        }        //username为空的话,hibername可以帮我们解决问题                PageBean userPageBean = userService.getuserPageBeanByCondition(currentPage,start,end,user.getUsername());                //进行对数据的回显,回显的时候需要在user-list.jsp获取        ActionContext.getContext().put("start", start);        ActionContext.getContext().put("end", end);        ActionContext.getContext().put("username", user.getUsername());                ActionContext.getContext().put("userPageBean", userPageBean);                return "userList";    }

 

传递三个参数给userService.java

public PageBean getuserPageBeanByCondition(Integer currentPage, String start, String end, String username, ) {                //得到符合条件的用户数目        Integer totalCount = userDao.getAllUserByCondition(start,end,username);        PageBean pageBean = new PageBean(currentPage, 6, totalCount);//6表示页面显示的数量        //todo 根据条件得到list并封装list        List
list = userDao.getPageBeanListByCondition(pageBean,start,end,username); pageBean.setList(list); return pageBean; }

 

在userDao中写入sql语句:

//1、2通过开始日期与结束日期还有用户名条件进行查询  //1    public Integer getAllUserByCondition(String start, String end, String username) {        Session session = getHibernateTemplate().getSessionFactory().getCurrentSession();                String sql = "select count(*) from user where createtime > ? and createtime < ? and username like ?;                           NativeQuery query = session.createSQLQuery(sql);        query.setParameter(1, start);        query.setParameter(2, end);        query.setParameter(3, "%"+username+"%");                BigInteger result = (BigInteger) query.uniqueResult();                return result.intValue();    }   //2    public List
getPageBeanListByCondition(PageBean pageBean, String start, String end, String username) { Session session = getHibernateTemplate().getSessionFactory().getCurrentSession(); //需要三个条件 String sql = "select * from user where createtime > ? and createtime < ? and username like ? limit ?,?"; NativeQuery query = session.createSQLQuery(sql); query.addEntity(User.class); query.setParameter(1, start); query.setParameter(2, end); query.setParameter(3, "%"+username+"%"); query.setParameter(4, pageBean.getStart()); query.setParameter(5, pageBean.getPageSize()); List list = query.list(); return list; }

 

 

 

为防止在进行查询时候点击下方分页的上一页以及其它查询所有,在user-list.jsp中进行参数的拼接:

&start=
&end=
&username=
"><<
&start=
&end=
&username=
">
&start=
&end=
&username=
">
&start=
&end=
&username=
">
&start=
&end=
&username=
">
&start=
&end=
&username=
">尾页
&start=
&end=
&username=
">>>

 

进行对输入的三个参数回显到输入框中

 

 修改user.jsp中该部分的代码:

">
">
">
">

 

最终效果:

 

转载于:https://www.cnblogs.com/jiguiyan/p/10896411.html

你可能感兴趣的文章
移动设备和SharePoint 2013 - 第3部分:推送通知
查看>>
SOPC Builder中SystemID
查看>>
MySQL数据库备份工具mysqldump的使用(转)
查看>>
青海行--(7月19日)麦积山石窟
查看>>
NTP服务器配置
查看>>
【转】OO无双的blocking/non-blocking执行时刻
查看>>
深入理解java集合框架(jdk1.6源码)
查看>>
php截取后台登陆密码的代码
查看>>
选假球的故事
查看>>
ul li剧中对齐
查看>>
关于 linux 的 limit 的设置
查看>>
模块搜索路径
查看>>
如何成为一名优秀的程序员?
查看>>
HDU(4528),BFS,2013腾讯编程马拉松初赛第五场(3月25日)
查看>>
C++期中考试
查看>>
Working with Characters and Strings(Chapter 2 of Windows Via C/C++)
查看>>
vim中文帮助教程
查看>>
Android 创建与解析XML(四)—— Pull方式
查看>>
CodeForces 411B 手速题
查看>>
同比和环比
查看>>