smsinterfacesvc.java

来自「短信」· Java 代码 · 共 110 行

JAVA
110
字号
package com.asiainfo.batchsend.sms.sms.db;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import org.apache.log4j.Logger;

import com.asiainfo.batchsend.sms.boss.DBCon;
import com.asiainfo.batchsend.sms.sms.MessageInfo;
import com.asiainfo.databusi.util.DataBusiDbUtils;

/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Company: Asiainfo Technologies(China),Inc </p>
 * <p>Date: Nov 6, 2007 3:55:51 PM </p>
 * <p>Email to: jiangyl@asiainfo.com </p>
 * @author jiangyl
 * @version 1.0
 */

public class SmsInterfaceSvc {
	private  final Logger log = Logger.getLogger(SmsInterfaceSvc.class);
	private static String strDBType = DataBusiDbUtils.BACKTYPE;
	private  String selectSql = " select src_msisdn, send_msg, id from sms_interface where status = 1 ";
	private  String upateSql = " update sms_interface set status = ? where id = ?";
	
	public SmsInterfaceSvc(){
		if (strDBType.equalsIgnoreCase("oracle")) {
			selectSql += " and rownum <  101";
		}else if(strDBType.equalsIgnoreCase("db2")) {
			selectSql += " fetch first 100 rows only ";
		}
	}
	
	public  boolean hasData(){
		boolean flag = false;
		Connection conn = null;
		try {
			conn = DBCon.getShenYunDataSource().getConnection();
			conn.setAutoCommit(false);
			PreparedStatement ps = conn.prepareStatement(selectSql);
			ResultSet rs = ps.executeQuery();
			if ( rs.next()){
				flag = true;
			}
			conn.close();
			conn = null;
		} catch (SQLException e) {
			try{
				conn.rollback();
			}catch(Exception ee){
			}
		} finally {
			if(conn!=null){
				try {
					conn.close();
				} catch (SQLException e) {
				}
			}
		}
		return flag;
	}
	
	public  List loadData(){
		List list = new ArrayList();
		Connection conn = null;
		try {
			conn = DBCon.getShenYunDataSource().getConnection();
			conn.setAutoCommit(false);
			PreparedStatement ps = conn.prepareStatement(selectSql);
			PreparedStatement us = conn.prepareStatement(upateSql);
			ResultSet rs = ps.executeQuery();
			while ( rs.next()){
				us.setInt(1, 2);
				us.setInt(2, rs.getInt("id"));
				us.addBatch();
				
				MessageInfo sms = new MessageInfo();
				long id = rs.getLong("id");
				sms.setMessageid("" + id);
				sms.setPhonenumber( rs.getString("src_msisdn").trim());
				sms.setMessage( rs.getString("send_msg").trim());   
				list.add(sms);
				
			}
			us.executeBatch();
			conn.commit();
			conn.close();
		} catch (SQLException e) {
			try{
				conn.rollback();
			}catch(Exception ee){
			}
			log.error("",e);
		} finally {
			if(conn!=null){
				try {
					conn.close();
				} catch (SQLException e) {
				}
			}
		}
		return list;
	}
}

⌨️ 快捷键说明

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