📄 forumaction.java
字号:
/* * 作者: 胡李青 * qq: 31703299 * Copyright (c) 2007 huliqing * 主页 http://www.tbuy.biz/ * 你可以免费使用该软件,未经许可请勿作用于任何商业目的,如有技术问题请与本人联系! */package biz.tbuy.bbs;import biz.tbuy.bbs.bean.BaseBean;import biz.tbuy.common.pool.ProxyConn;import biz.tbuy.common.logs.Elog;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;/** * @author huliqing * <p><b>qq:</b>31703299 * <p><b>E-mail:</b> * <a href="mailto:huliqing.cn@gmail.com">huliqing.cn@gmail.com</a> * <p><b>Homepage:</b> * <a href="http://www.tbuy.biz/">http://www.tbuy.biz/</a> */public class ForumAction extends BaseBean{ private ForumModel forumModel; public ForumAction() { } public void setForumModel(ForumModel forumModel) { this.forumModel = forumModel; } public ForumModel getForumModel() { return forumModel; } /** method ****************************************************************/ /** * create "Zone" */ public static boolean addForum(ForumModel forum) { boolean isOk = false; String sql = "insert into forum (f_name, f_comment, " + " f_date, f_byUser, f_beLock, f_beRevoke, f_byZone) " + "values (?, ?, now(), ?, ?, ?, ?)"; ProxyConn myConn = getConn(); try { PreparedStatement ps = myConn.prepareStatement(sql); ps.setString(1, forum.getName()); ps.setString(2, forum.getComment()); ps.setString(3, forum.getByUser()); ps.setBoolean(4, forum.getBeLock()); ps.setBoolean(5, forum.getBeRevoke()); ps.setInt(6, forum.getByZone()); if (ps.executeUpdate() > 0) isOk = true; } catch (SQLException sqle) { Elog.log("ForumAction.addForum()/" + sqle.getMessage()); } finally { myConn.close(); } return isOk; } /** * 通过forum的ID查绚该forum * @param forumId 需要查询的forum的id编号 * @return ForumModel 如果查有结果,否则返回null; */ public static ForumModel getForumById(int forumId) { ForumModel forum = null; String sql = "select * from forum where f_num=? and f_beRevoke!=1"; ProxyConn myConn = getConn(); try { PreparedStatement ps = myConn.prepareStatement(sql); ps.setInt(1, forumId); ResultSet rs = ps.executeQuery(); if (rs.next()) { forum = getForumByRS(rs); } } catch (SQLException sqle) { Elog.log("ForumAction.getForumById()/" + sqle.getMessage()); } finally { myConn.close(); } return forum; } /** * get forums by zone * @param zone * @return list<ForumModel> */ public static List<ForumModel> getForumsByZone(ZoneModel zone) { return getForumsByZoneId(zone.getNum()); } /** * get forums by zone's id * @param zoneId * @return list<ForumModel> */ public static List<ForumModel> getForumsByZoneId(int zoneId) { List<ForumModel> list = new ArrayList<ForumModel>(); String sql = "select * from forum where f_byZone=? and f_beRevoke!=1"; ProxyConn myConn = getConn(); try { PreparedStatement ps = myConn.prepareStatement(sql); ps.setInt(1, zoneId); ResultSet rs = ps.executeQuery(); while (rs.next()) { list.add(getForumByRS(rs)); } } catch (SQLException sqle) { Elog.log("ForumAction.getForumsByZone()/" + sqle.getMessage()); } finally { myConn.close(); } return list; } /** * 通过该讨论区(forum)的id,获取其所属专区(zone)的id * @param forum 讨论区的id, * @return zoneId 所属专区的id, 如果获取失败则返回 -1 */ public static int getParentByForum(int forum) { int zoneId = -1; String sql = "select f_byZone from forum where f_num = ?"; ProxyConn myConn = getConn(); try { PreparedStatement ps = myConn.prepareStatement(sql); ps.setInt(1, forum); ResultSet rs = ps.executeQuery(); if (rs.next()) { zoneId = rs.getInt("f_byZone"); } } catch (SQLException sqle) { Elog.log("ForumAction.getParentByForum()/" + sqle.getMessage()); } finally { myConn.close(); } return zoneId; } /** * 获取所有Forum,按并按zone分组 * @return forums 一个包含ForumModel的list集合 */ public static List<ForumModel> getForums() { List<ForumModel> list = new ArrayList<ForumModel>(); String sql = "select * from forum " + "where f_beRevoke!=1 " + "order by f_num asc "; ProxyConn myConn = getConn(); try { PreparedStatement ps = myConn.prepareStatement(sql); ResultSet rs = ps.executeQuery(); while (rs.next()) { list.add(getForumByRS(rs)); } } catch (SQLException sqle) { Elog.log("Exception:ForumAction.getForums:" + sqle.getMessage()); } finally { myConn.close(); } return list; } /** * 更新forum,通过传递一个ForumModel, 更新该ForumModel * @param forum 需要被更新的Forum * @return true 如果更新成功,否则返回false; */ public static boolean updateForum(ForumModel forum) { boolean isOk = false; String sql = "update Forum set " + "f_name=?, f_comment=?, f_date=?, " + "f_byZone=?, f_byUser=?, f_beLock=?, f_beRevoke=? " + "where f_num=?"; ProxyConn myConn = getConn(); try { PreparedStatement ps = myConn.prepareStatement(sql); ps.setString(1, forum.getName()); ps.setString(2, forum.getComment()); ps.setTimestamp(3, forum.getDate()); ps.setInt(4, forum.getByZone()); ps.setString(5, forum.getByUser()); ps.setBoolean(6, forum.getBeLock()); ps.setBoolean(7, forum.getBeRevoke()); ps.setInt(8, forum.getNum()); isOk = ps.executeUpdate() > 0; } catch (SQLException sqle) { Elog.log("bbs/ForumAction.updateForum()/" + sqle.getMessage()); } finally { myConn.close(); } return isOk; } /** * 通过ForumModel.num 回收ForumModel,并不删除该ForumModel, * 只是暂时放入回收筒,以供回收使用 * @param forumId ForumModel's id * @return true 如果回收成功,否则返回 false */ public static boolean revokeForumById(int forumId) { boolean isOk = true; String sql = "update forum set f_beRevoke=1 where f_num=?"; ProxyConn myConn = getConn(); try {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -