⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 forumaction.java

📁 tbuy1.1.5是在netbeans环境下用JSF技术编写的一个论坛tbuy1.1.5是在netbeans环境下用JSF技术编写的一个论坛
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
            PreparedStatement ps = myConn.prepareStatement(sql);            ps.setInt(1, forumId);            isOk = ps.executeUpdate() > 0;        } catch (SQLException sqle) {            Elog.log("bbs/ForumAction.revokeForumById()/" + sqle.getMessage());        } finally {            myConn.close();        }        return isOk;    }        /** 以下为关于版主相关操作 *************************************************/    /**     * 通过ForumModel的id,从master表中获取该forum的版主列表     * @param forumId 需要查找版主列表的讨论区的ID     * @return list 包含所有该讨论区的版主列表的集合,ArrayList     */    public static List<String> getForumMastersByForumId(int forumId) {        List<String> list = new ArrayList<String>();        String sql = "select * from master where m_byForum=?";        ProxyConn myConn = getConn();        try {            PreparedStatement ps = myConn.prepareStatement(sql);            ps.setInt(1, forumId);            ResultSet rs = ps.executeQuery();            while (rs.next()) {                list.add(rs.getString("m_user"));            }        } catch (SQLException sqle) {            Elog.log("bbs/ForumAction.getForumMasterByForumId()/" +                     sqle.getMessage());        } finally {            myConn.close();        }        return list;    }        /**     * 该方法用于查找master表,并判断讨论区的版主信息是否存在     * 即判断某用户是否为该讨论区的版主     * @param forumId 需要查找的讨论区的id     * @param userId 需要查找的用户的id     * @return true 表明该用户已经是该讨论区的版主,否则返回false     */    public static boolean isExistForumMaster(int forumId, String userId) {        boolean isOk = false;        String sql = "select * from master where m_byForum=? and m_user=?";        ProxyConn myConn = getConn();        try {            PreparedStatement ps = myConn.prepareStatement(sql);            ps.setInt(1, forumId);            ps.setString(2, userId);            isOk = ps.executeQuery().next();        } catch (SQLException sqle) {            Elog.log("bbs/ForumAction.isExistForumMaster()/" +                     sqle.getMessage());        } finally {            myConn.close();        }        return isOk;    }        /**     * 为讨论区添加版主信息     * @param forumId 所要添加版主的讨论区的id     * @param userId 将要被添加为该forumId的版主的用户id     * @return true 如果添加成功,否则返回false     */    public static boolean addForumMaster(int forumId, String userId) {        boolean isOk = false;        String sql = "insert into master (m_byForum, m_user) values (?, ?)";        ProxyConn myConn = getConn();        try {            PreparedStatement ps = myConn.prepareStatement(sql);            ps.setInt(1, forumId);            ps.setString(2, userId);            isOk = ps.executeUpdate() > 0;        } catch (SQLException sqle) {            Elog.log("bbs/ForumAction.addForumMaster()/" +                     sqle.getMessage());        } finally {            myConn.close();        }        return isOk;    }        /**     * 删除讨论区的版主     * @param forumId 需要删除版主信息的讨论区ID     * @param userId 需要删除的版主id     * @return true 如果删除成功,否则返回false     */    public static boolean deleteForumMaster(int forumId, String userId) {        boolean isOk = false;        String sql = "delete from master where m_byForum=? and m_user=?";        ProxyConn myConn = getConn();        try {            PreparedStatement ps = myConn.prepareStatement(sql);            ps.setInt(1, forumId);            ps.setString(2, userId);            isOk = ps.executeUpdate() > 0;        } catch (SQLException sqle) {            Elog.log("bbs/ForumAction.deleteForumMaster()/" +                     sqle.getMessage());        } finally {            myConn.close();        }        return isOk;    }        /**************************************************************************     * 关于被删除及被回收的讨论区,以下部分是关于获取及彻底删除已被回收的讨论区     * 该方法获取已被回收的讨论区的总数量     * @return total     **************************************************************************/    public static int getTotalRevokeForums() {        int total = 0;        String sql = "select * from forum where f_beRevoke=1";        ProxyConn myConn = getConn();        try {            PreparedStatement ps = myConn.prepareStatement(sql);            ResultSet rs = ps.executeQuery();            rs.last();            total = rs.getRow();        } catch (SQLException sqle) {            Elog.log("Exception:ForumAction:getTotalRevokeForums:" +                     sqle.getMessage());        } finally {            myConn.close();        }        return total;    }        /**     * 获取一定数量的“已被回收的讨论区”,该方法主要用于分页获取     * @param startRow 获取的开始行     * @param pageSize 从开始行获取一定的数量     * @return revokeForums 被回收的讨论区     */     public static List<ForumModel> getRevokeForums(int startRow, int pageSize) {        List<ForumModel> revokeForums = new ArrayList<ForumModel>();        String sql = "select * from forum where f_beRevoke=1 " +                "order by f_num desc " +                "limit ?, ?";        ProxyConn myConn = getConn();        try {            PreparedStatement ps = myConn.prepareStatement(sql);            ps.setInt(1, startRow);            ps.setInt(2, pageSize);            ResultSet rs = ps.executeQuery();            while (rs.next()) {                revokeForums.add(getForumByRS(rs));            }        } catch (SQLException sqle) {            Elog.log("Exception:ForumAction:getRevokeForums:" +                     sqle.getMessage());        } finally {            myConn.close();        }        return revokeForums;    }        /**     * 彻底删除所有已经被回收的讨论区信息,同时删除相关联的信息     * 删除讨论区,相关主题,相关回复信息,相关版主     * @return true 如果正常删除,否则false     */     public static boolean clearRevokeForums() {        boolean isOk = true;        String sql = "delete forum, topic, reply, master " +                "from forum " +                "left join topic on f_num=t_byForum " +                "left join reply on t_num=r_byTopic " +                "left join master on m_byForum=f_num " +                "where f_beRevoke=1";        ProxyConn myConn = getConn();        try {            PreparedStatement ps = myConn.prepareStatement(sql);            ps.executeUpdate();        } catch (Exception e) {            isOk = false;            Elog.log("Exception:ForumAction:clearRevokeForums:" + e.getMessage());        } finally {            myConn.close();        }        return isOk;    }        /**     * 通过该ResultSet的当前行获取相应的数据,并转为单个ForumModel返回     * 这里是真正从ResultSet中获取数据的地方,所有的ForumModel都应该从     * 这里获得数据     * @param rs 一个ResultSet     * @return forum     */     public static ForumModel getForumByRS(ResultSet rs) {        ForumModel forum = new ForumModel();        try {            forum.setBeLock(rs.getBoolean("f_beLock"));            forum.setBeRevoke(rs.getBoolean("f_beRevoke"));            forum.setComment(rs.getString("f_comment"));            forum.setDate(rs.getTimestamp("f_date"));            forum.setImage(rs.getString("f_image"));            forum.setName(rs.getString("f_name"));            forum.setNum(rs.getInt("f_num"));            forum.setByZone(rs.getInt("f_byZone"));            forum.setByUser(rs.getString("f_byUser"));        } catch (SQLException sqle) {            Elog.log("ForumAction:getForumByRS:" + sqle.getMessage());        }        return forum;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -