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

📄 mmssave.java

📁 数据刷新程序,用于不同数据库之间德数据传递
💻 JAVA
字号:
package com.main.apps.handle;

import java.io.UnsupportedEncodingException;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;

import com.main.apps.common.DBUtil;
import com.main.apps.common.Encode;
import com.main.apps.common.FileUtil;
import com.main.apps.common.TimeUtil;
import com.main.apps.control.Config;
import com.main.apps.message.MMSInfo;
import com.main.apps.message.MMSInfoList;

public class MMSSave extends Thread
{
    public MMSSave()
    {
        list = MMSInfoList.getInstance();
        dba = new DBUtil();
        sql = new StringBuffer();
    }

    public void run()
    {
        System.out.println("彩信信息记录线程启动...");
        Connection con = null;
        Statement stmt = null;
        MMSInfo info = null;

        while (!Thread.interrupted())
        {
            try
            {
                if (list.getSize() == 0)
                {
                    Thread.sleep(1000);
                }
                else
                {
                    info = list.remove();
                    if (info != null)
                    {
                        con = dba.getConnection();
                        stmt = con.createStatement();
                        insertData(info, stmt);
                    }
                    Thread.sleep(20);
                }                                                
            }
            catch (SQLException sqle)
            {
                FileUtil.printError(sqle, sql.toString(), Config.errorFile);
            }
             catch (UnsupportedEncodingException uee)
             {
             FileUtil.printError(uee, "编码格式不支持", Config.errorFile);
             }
            catch (InterruptedException ie)
            {
                // do nothing
            }
            finally
            {
                try
                {
                    if (stmt != null)
                    {
                        stmt.close();
                    }
                    if (con != null)
                    {
                        dba.freeConnection(con);
                        con = null;
                    }

                    info = null;
                    Thread.sleep(20);
                }
                catch (Exception e)
                {
                    // do nothing
                }               
            }
        }
    }

    /**
     * 将短信信息插入数据库
     * @param info
     * @param stmt
     * @throws SQLException
     * @throws UnsupportedEncodingException
     */
    private void insertData(MMSInfo info, Statement stmt) throws SQLException,
            UnsupportedEncodingException
    {  
        String startTime = TimeUtil.getTime(TimeUtil.YYYYMMDDhhmmss);
        String stopTime = startTime.substring(0, 4);
        stopTime = (Integer.parseInt(stopTime) + 1) + startTime.substring(4, 14);
        sql.setLength(0);
        sql.append("insert into t_sp_cont_mms(xh,newscode,title,msg,");
        sql.append("smilname,ontime,offtime,sendstatus,checkstatus,");
        sql.append("spid) values(seq_t_sp_cont_mms.nextval,'");
        sql.append(info.getInfoCode());
        sql.append("','");
        if (info.getTitle() == null)
        {
            sql.append("");
        }
        else
        {
            sql.append(Encode.toDatabase(info.getTitle()));
        }
        sql.append("','");
        sql.append(info.getMutiMediaPath());
        sql.append("','");
        if (info.getSmilPath() == null)
        {
            sql.append("");
        }
        else
        {
            sql.append(info.getSmilPath());
        }
        sql.append("','");
        sql.append(startTime);
        sql.append("','");
        sql.append(stopTime);
        sql.append("','0','1','");
        sql.append("10626699");
        sql.append("')");
        stmt.execute(sql.toString());
    }
    
    private MMSInfoList list; // 短信信息列表

    private DBUtil dba; // 数据库访问器

    private StringBuffer sql; // 结构化查询语句
}

⌨️ 快捷键说明

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