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

📄 messageaction.java

📁 tbuy1.1.5是在netbeans环境下用JSF技术编写的一个论坛tbuy1.1.5是在netbeans环境下用JSF技术编写的一个论坛
💻 JAVA
字号:
/* * 作者: 胡李青 * qq: 31703299 * Copyright (c) 2007 huliqing * 主页 http://www.tbuy.biz/ * 你可以免费使用该软件,未经许可请勿作用于任何商业目的 */package biz.tbuy.message;import biz.tbuy.common.logs.Elog;import biz.tbuy.common.pool.ProxyConn;import biz.tbuy.message.bean.BaseBean;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 MessageAction extends BaseBean{    public MessageAction() {}        /**     * 添加短讯息     * @param message a MessageModel     */     public static boolean addMessage(MessageModel message) {        boolean isOk = false;        String sql = "insert into message (m_toUser, m_fromUser, m_title, " +                "m_content, m_beRead, m_beRevoke, m_datetime) " +                "values (?, ?, ?, ?, ?, ?, now())";        ProxyConn myConn = getConn();        try {            PreparedStatement ps = myConn.prepareStatement(sql);            ps.setString(1, message.getToUser());            ps.setString(2, message.getFromUser());            ps.setString(3, message.getTitle());            ps.setString(4, message.getContent());            ps.setBoolean(5, message.getBeRead());            ps.setBoolean(6, message.getBeRevoke());            isOk = ps.executeUpdate() > 0;        } catch (Exception e) {            Elog.log("Exception:MessageAction:addMessage:" + e.toString());        } finally {            myConn.close();        }        return isOk;    }        /**     * 编辑或更新短讯息,可能用到的地方如:更新短讯息为“已读"     * @param message 需要被更新的MessageModel     * @return true 如果更新成功, 否则false;     */     public static boolean updateMessage(MessageModel message) {        boolean isOk = false;        String sql = "update message set " +                "m_toUser=?, " +                "m_fromUser=?, " +                "m_title=?, " +                "m_content=?, " +                "m_datetime=?, " +                "m_beRead=?, " +                "m_beRevoke=? " +                "where m_num=?";        ProxyConn myConn = getConn();        try {            PreparedStatement ps = myConn.prepareStatement(sql);            ps.setString(1, message.getToUser());            ps.setString(2, message.getFromUser());            ps.setString(3, message.getTitle());            ps.setString(4, message.getContent());            ps.setTimestamp(5, message.getDatetime());            ps.setBoolean(6, message.getBeRead());            ps.setBoolean(7, message.getBeRevoke());            ps.setInt(8, message.getNum());            isOk = ps.executeUpdate() > 0;        } catch (Exception e) {            Elog.log("Exception:MessageAction:updateMessage:" + e.toString());        } finally {            myConn.close();        }        return isOk;    }        /**     * 获取特定用户的所有短讯数量(接收者)     * @param userid 短讯接收者的id     * @return total     */     public static int getTotalByToUser(String userid) {        int total = 0;        String sql = "select * from message where m_toUser=?";        ProxyConn myConn = getConn();        try {            PreparedStatement ps = myConn.prepareStatement(sql);            ps.setString(1, userid);            ResultSet rs = ps.executeQuery();            rs.last();            total = rs.getRow();        } catch (Exception e) {            Elog.log("Exception:MessageAction:getTotalByToUser:" + e.toString());        } finally {            myConn.close();        }        return total;    }        /**     * 获取特点用户的所有短讯(接收者)     * @param userid 短讯接收者的id     * @param start      * @param pageSize     * @return messages     */     public static List<MessageModel> getMessagesByToUser(String userid,             int start, int pageSize) {        List<MessageModel> messages = new ArrayList<MessageModel>();        String sql = "select * from message where m_toUser=? " +                "order by m_num desc " +                "limit ?, ?";        ProxyConn myConn = getConn();        try {            PreparedStatement ps = myConn.prepareStatement(sql);            ps.setString(1, userid);            ps.setInt(2, start);            ps.setInt(3, pageSize);            ResultSet rs = ps.executeQuery();            messages = getMessages(rs);        } catch (Exception e) {            Elog.log("Exception:MessageAction:getTotalByToUser:" + e.toString());        } finally {            myConn.close();        }        return messages;    }        /**     * 删除指定的短讯息,该方法将彻底删除短讯     * @param message 需要被删除的MessageModel     * @return true 如果删除成功,否则false;     */     public static boolean deleteMessage(MessageModel message) {        return deleteMessage(message.getNum());    }        /**     * 删除指定的短讯息,该方法将彻底删除短讯     * @param num 需要被删除的MessageModel的id     * @return true 如果删除成功,否则false;     */    public static boolean deleteMessage(int num) {        boolean isOk = false;        String sql = "delete from message where m_num = ?";        ProxyConn myConn = getConn();        try {            PreparedStatement ps = myConn.prepareStatement(sql);            ps.setInt(1, num);            isOk = ps.executeUpdate() > 0;        } catch (Exception e) {            Elog.log("Exception:MessageAction:deleteMessage:" + e.toString());        } finally {            myConn.close();        }        return isOk;    }        /**     * 同时删除多个messages     * @param messages manay MessageModel     */     public static void deleteMessages(List<MessageModel> messages) {        String sql = "delete from message where m_num = ?";        ProxyConn myConn = getConn();        try {            PreparedStatement ps = myConn.prepareStatement(sql);            for (MessageModel message : messages) {                ps.setInt(1, message.getNum());                ps.executeUpdate();            }        } catch (Exception e) {            Elog.log("Exception:MessageAction:deleteMessages:" + e.toString());        } finally {            myConn.close();        }    }        /**     * 判断指定用户是否有新的短讯件     * @param userid 判断该用户是否有新信件     * @return true 如果有新信件,否则false     */    public static boolean isNewMessages(String userid) {        boolean isNews = false;        String sql = "select * from message where m_toUser=? and m_beRead=?";        ProxyConn myConn = getConn();        try {            PreparedStatement ps = myConn.prepareStatement(sql);            ps.setString(1, userid);            ps.setBoolean(2, false);            isNews = ps.executeQuery().next();        } catch (Exception e) {            Elog.log("Exception:MessageAction:isNewMessages:" + e.toString());        } finally {            myConn.close();        }        return isNews;    }        /** ***********************************************************************/    /**     * 获取MessageModels by ResultSet     * @param rs 包含有MessageModel信息的ResultSet     * @return messages 相应的MessageModel集合-ArrayList     */    private static List<MessageModel> getMessages(ResultSet rs) {        List<MessageModel> messages = new ArrayList<MessageModel>();        try {            while (rs.next()) {                                    messages.add(getMessageByRS(rs));            }        } catch (SQLException sqle) {            Elog.log("Exception:MessageAction:getMessages:" + sqle.getMessage());        }        return messages;    }        /**     * 获取MessageModel, 最终获取MessageModel是在这里的     * @param rs 通过该ResultSet获得当前指针下的MessageModel     * @return message a MessageModel;     */    public static MessageModel getMessageByRS(ResultSet rs) {        MessageModel message = new MessageModel();        try {            message.setBeRead(rs.getBoolean("m_beRead"));            message.setContent(rs.getString("m_content"));            message.setDatetime(rs.getTimestamp("m_datetime"));            message.setFromUser(rs.getString("m_fromUser"));            message.setNum(rs.getInt("m_num"));            message.setTitle(rs.getString("m_title"));            message.setToUser(rs.getString("m_toUser"));            message.setBeRevoke(rs.getBoolean("m_beRevoke"));        } catch (SQLException sqle) {            Elog.log("Exception:MessageAction:getMessageByRS:" + sqle.getMessage());        }        return message;    }}

⌨️ 快捷键说明

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