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

📄 mysqlpostpdao.java

📁 雷霆论坛是用J2EE技术开发的功能强大、扩展性强、易于定制
💻 JAVA
字号:
package lightningboard.dao.mysql;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import lightningboard.db.DBConnectionManager;
import lightningboard.db.DBAccess;
import lightningboard.util.DateTimeUtil;
import lightningboard.ActionException;
import lightningboard.dao.PostPDAO;

public class MysqlPostPDAO implements PostPDAO {
    private DBConnectionManager dbcm = DBConnectionManager.getInstance();

    public int post(int f_id,int u_id, String subject,String content
                    ,String u_lastip,int tm_iconid)
        throws ActionException{
      Connection connection=null;
      try {
        String dataTime=DateTimeUtil.getDateTime();
        connection=dbcm.getConnection();
        DBAccess dba=new DBAccess(connection);
        connection.setAutoCommit(false);
        //1
        CommonDAO idGen=new CommonDAO();
        int  t_id = idGen.getTopicID(dba);
        String sql = "INSERT INTO lb_topic(t_order,t_locked,t_id,t_f_id"
                   +",t_name,t_u_id,t_replies,t_views,t_lasttime,t_u_id2"
                   +",t_iconid) VALUES (0,0,"+t_id+","+f_id+",'"+subject+"',"
                   +u_id+",0,0,'"+dataTime+"',"+u_id+","+tm_iconid+")";
        dba.runSql(sql);
        //2
        int m_id=idGen.getMessageID(dba);
        sql="INSERT INTO lb_message (m_id,m_iconid,m_t_id,m_content,m_u_id"
          +",m_time) VALUES ("+m_id+","+tm_iconid+","+t_id+",'"+content
          +"',"+u_id+",'"+dataTime+"')";
       dba.runSql(sql);
        //3
        dba.runSql("UPDATE lb_user SET u_post=u_post+1,u_lasttime='"+dataTime
                   +"',u_lastip='"+u_lastip+"' WHERE u_id="+u_id);
        //4
        dba.runSql("UPDATE lb_forum SET f_topics=f_topics+1"
                   +",f_messages=f_messages+1,f_u_id2="+u_id
                   +",f_lasttime='"+dataTime+"' WHERE f_id="+f_id);

        connection.commit();
        return t_id;
      } catch (Exception ex) {
        try {
          connection.rollback();
        }
        catch (SQLException sqle) {
        }
        throw new ActionException(ex);
      }finally{
        try {
          connection.setAutoCommit(true);
          dbcm.freeConnection(connection);
        } catch (SQLException ex) {
          //
        }
      }
    }

    public int reply(int t_id,int u_id, String content,String u_lastip
                     ,int tm_iconid)
        throws ActionException{
      Connection connection=null;
      try {
        String dataTime=DateTimeUtil.getDateTime();
        connection=dbcm.getConnection();
        connection.setAutoCommit(false);
        DBAccess dba=new DBAccess(connection);
        //1
        String sql ="UPDATE lb_topic SET t_replies=t_replies+1,"
                   +" t_lasttime='"+dataTime+"',t_u_id2="+u_id
                   +" WHERE t_id="+t_id;
        dba.runSql(sql);
        //2
        CommonDAO idGen=new CommonDAO();
        int m_id=idGen.getMessageID(dba);
        sql="INSERT INTO lb_message (m_id,m_iconid,m_t_id,m_content,m_u_id"
           +",m_time) VALUES ("+m_id+","+tm_iconid+","+t_id+",'"+content
           +"',"+u_id+",'"+dataTime+"')";
        dba.runSql(sql);
        //3
        dba.runSql("UPDATE lb_user SET u_post=u_post+1,u_lasttime='"+dataTime
                   +"',u_lastip='"+u_lastip+"' WHERE u_id="+u_id);
        //4
        int f_id=0;
        ResultSet rs=dba.openSelect("SELECT t_f_id FROM lb_topic"
                                    +" WHERE t_id="+t_id);
        while (rs.next())
          f_id=rs.getInt("t_f_id");
        rs.close();
        dba.closeSelect();
        dba.runSql("UPDATE lb_forum SET f_messages=f_messages+1,f_u_id2="+u_id
                   +",f_lasttime='"+dataTime+"' WHERE f_id="+f_id);
        connection.commit();
        return m_id;
      } catch (Exception ex) {
        try {
          connection.rollback();
        }
        catch (SQLException sqle) {
        }
        throw new ActionException(ex);
      }finally{
        try {
          connection.setAutoCommit(true);
          dbcm.freeConnection(connection);
        } catch (SQLException ex) {
          //
        }
      }
    }
}

⌨️ 快捷键说明

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