测试代码:
/**
*
*/
package edu.gzucm.thms.utils;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Calendar;
/**
* @author Hongten</br>
* @date 2012-10-18
*
*/
public class SendData {
public static int sendDate2Server(String ip, String port,
String databaseName, String userName, String passwrod,String receiver,String content) {
int flag = 0;
try {
// 加载MySql的驱动类
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
System.out.println("找不到驱动程序类 ,加载驱动失败!");
e.printStackTrace();
}
// 连接MySql数据库,用户名和密码都是root
String url = "jdbc:mysql://"+ip+":"+port+"/"+databaseName;
System.out.println(url);
String username = "root";
String password = "root";
String sql = getSQL(receiver, content);
Connection conn = null;
PreparedStatement pstmt = null;
try {
conn = DriverManager.getConnection(url, username, password);
pstmt = conn.prepareStatement(sql);
flag = pstmt.executeUpdate(sql);
} catch (SQLException se) {
System.out.println("数据库连接失败!");
se.printStackTrace();
}
if (pstmt != null) { // 关闭声明
try {
pstmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) { // 关闭连接对象
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return flag;
}
public static String getSQL(String receiver,String content){
/**
* 下面是一些常量设置: retrytimes=0 pri=1 inpool=0 sendmode=1
* sendtime和inserttime的格式是:2011-05-03 18:55:20
*/
String now = getNow();
return "insert into sms_boxsending(sender,receiver,content,sendtime,inserttime,retrytimes,pri,inpool,sendmode)values('system','"+receiver+"','"+content+"','"+now+"','"+now+"','0','1','0','1')";
}
/**
* 获取当前时间,并格式化时间
*
* @return 格式化当前的时间
*/
public static String getNow() {
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int min = calendar.get(Calendar.MINUTE);
int sec = calendar.get(Calendar.SECOND);
Object monthString = (month < 10) ? "0" + month : month;
Object dayString = (day < 10) ? "0" + day : day;
Object hourString = (hour < 10) ? "0" + hour : hour;
Object minString = (min < 10) ? "0" + min : min;
Object secString = (sec < 10) ? "0" + sec : sec;
return "" + year + "-" + monthString + "-" + dayString + " "
+ hourString + ":" + minString + ":" + secString;
}
public static void main(String[] args) {
//这里是调用远程机器B的mysql数据库
System.out.println(sendDate2Server("210.38.111.34", "3306", "messagecat", null, null,"1342360****","this is a test 短信"));
//这是测试本地的
System.out.println(sendDate2Server("localhost", "3308", "messagecat", null, null,"1342360****","this is a test 短信"));
}
}