java语言利用MySQL数据库自带的DATE_SUB()函数查询一周、一个月、半年、一年之内的数据记录
2014-12-02 21:32
846 查看
在JSP页面中根据论坛帖子的发帖时间查询帖子记录,前台JSP页面代码如下:
后台的java代码如下:
<s:form id="postTime" action="findPostByTime" method="post" theme="simple" target="mFrame"> <table class="tab_data" width="70%" > <tr> <td class="left" width="30%"> 请选择时间: </td> <td width="70"> <s:select name="postTime" list="#{'最近一周':'最近一周','最近半个月':'最近半个月','最近一个月':'最近一个月','最近半年':'最近半年','最近一年':'最近一年'}" listKey="value" listValue="key" theme="simple" headerKey="-1" headerValue="—发帖时间—"> </s:select> </td> </tr> <tr> <td class="right" colspan="2" > <span style="white-space:pre"> </span><div align="center"> <s:submit value="查询" theme="simple" cssClass="btn_normal" /> </div> </td> </tr> </table> </s:form>
后台的java代码如下:
private List<McpForumPost> forumPostList; private String postTime; //类的私有成语变量及其get()和set()方法 public String getPostTime() { return postTime; } public void setPostTime(String postTime) { this.postTime = postTime; } public List<McpForumPost> getForumPostList() { return forumPostList; } public void setForumPostList(List<McpForumPost> forumPostList) { this.forumPostList = forumPostList; } /** * * 前台jsp页面传入一个String类型的postTime,根据发帖时间查询帖子 * **/ public String findPostByTime() { System.out.println(postTime); private String columnSql = "select a.post_id,a.user_id,a.board_id,a.post_title,a.post_time,a.check_state,a.is_top,a.is_good,a.post_state,b.account from mcp_forum_post as a,scpn_user as b "; String sql_fy; try { //其中post_time在MySQL数据库中以datetime类型保存 if(postTime.equals("最近一周")){ sql_fy=columnSql+"where a.user_id=b.user_id and a.post_state=1 and a.post_time>DATE_SUB(CURDATE(), INTERVAL 7 DAY)" ; }else if(postTime.equals("最近半个月")){ sql_fy=columnSql+"where a.user_id=b.user_id and a.post_state=1 and a.post_time>DATE_SUB(CURDATE(), INTERVAL 15 DAY)"; }else if(postTime.equals("最近一个月")){ sql_fy=columnSql+"where a.user_id=b.user_id and a.post_state=1 and a.post_time>DATE_SUB(CURDATE(), INTERVAL 1 MONTH)"; }else if(postTime.equals("最近半年")){ sql_fy=columnSql+"where a.user_id=b.user_id and a.post_state=1 and a.post_time>DATE_SUB(CURDATE(), INTERVAL 6 MONTH)"; }else if(postTime.equals("最近一年")){ sql_fy=columnSql+"where a.user_id=b.user_id and a.post_state=1 and a.post_time>DATE_SUB(CURDATE(), INTERVAL 1 YEAR)"; }else { sql_fy=columnSql+"where a.user_id=b.user_id and a.post_state=1 "; } System.out.println(sql_fy); forumPostList = jdbcTemplate.queryForList(sql_fy); //将日志集合保存到List中 if(forumPostList.size()==0||flag==false) { return ERROR; } return SUCCESS; } catch (Exception e) { e.printStackTrace(); return ERROR; } }
相关文章推荐
- sqlserver -- 学习笔记(五)查询一天、一周、一个月记录(DateDiff 函数)(备忘)
- MyBatis中使用DATE_ADD()函数查询一个月的数据
- 利用java语言将csv格式数据导入mysql数据库
- pb利用数据窗口查询重复记录
- 查询数据表中最后一周记录
- (转载)mysql查询一天,查询一周,查询一个月的数据
- java 查询mysql数据库表格数据
- mysql查询一天,查询一周,查询一个月的数据
- 用sql查询当天,一周,一个月的数据 .
- mysql查询一天,查询一周,查询一个月的数据
- 用sql查询当天,一周,一个月的数据
- java中用事物控制语言调用数据库中的数据,以及调用存储过程或函数
- SQL DATEDIFF语法及时间函数 Sql 查询当天、本周、本月记录
- 在JAVA中查询刚插入的记录ID 利用JDBC的getGeneratedKeys获得INSERT插入后生成的主键ID
- Java数据对象JDO 2.0查询语言的特点
- SQL DATEDIFF语法及时间函数 Sql 查询当天、本周、本月记录
- java 实现查询一个数据表中记录总数
- SQL DATEDIFF语法及时间函数 Sql 查询当天、本周、本月记录
- java 实现查询一个数据表中记录总数
- mysql查询时去除重复数据以及 FOUND_ROWS 统计记录函数