public class WeatherDao {
private static Connection conn = null;
private static PreparedStatement pstmt = null;
/**
* Author:Allison
* Date:2013-04-02
* Description:执行批量添加
*/
public void addWeatherBatch(List<WeatherData> list) {
conn = DBConn.getConnection();
try {
conn.setAutoCommit(false);
String sql = "insert into weather_data(currentDate,highTemp,lowTemp,weather,windDirection,windPower,week,city)values(?,?,?,?,?,?,?,?)";
pstmt = conn.prepareStatement(sql);
for (WeatherData WeatherData : list) {
pstmt.setString(1, WeatherData.getcurrentDate());
pstmt.setDouble(2, WeatherData.getHighTemp());
pstmt.setDouble(3, WeatherData.getLowTemp());
pstmt.setString(4, WeatherData.getWeather());
pstmt.setString(5, WeatherData.getWindDirection());
pstmt.setString(6, WeatherData.getWindPower());
pstmt.setString(7, WeatherData.getWeek());
pstmt.setString(8, WeatherData.getCity());
pstmt.addBatch();
}
pstmt.executeBatch();
conn.commit();
} catch (SQLException e) {
try {
conn.rollback();
} catch (SQLException e1) {
e1.printStackTrace();
}
e.printStackTrace();
} finally {
try {
DBConn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
/**
* Author:Allison datatime:2013-03-28 introduction:添加weather详细信息
*/
public boolean addWeather(WeatherData weather) {
// step1 定义sql语句
String sqlText = "insert into weather_data(currentDate,highTemp,lowTemp,weather,windDirection,windPower,week,city)values(?,?,?,?,?,?,?,?)";
Object[] oParams = { weather.getcurrentDate(), weather.getHighTemp(),
weather.getLowTemp(), weather.getWeather(),
weather.getWindDirection(), weather.getWindPower(),
weather.getWeek(), weather.getCity() };
// step2 执行sql语句
// 执行sql命令
int iRs = DBConn.exePreIUD(sqlText, oParams);
// 关闭DBConn对象
DBConn.close();
// step3 返回结果
return iRs > 0 ? true : false;
}
/*
* Author:Allison datatime:2011-10-19introduct:查询日志
*/
public ArrayList<WeatherData> findWeatherByDateCity(String date, String city){
//step1 定义sql语句
String sqlText="select currentDate,city from weather_data where currentDate='"+ date +"' and city ='"+city+"'";
//step2 执行sql语句
ResultSet rs = DBConn.exeR(sqlText);
try {
ArrayList<WeatherData> list = new ArrayList<WeatherData>();
while(rs.next()){
//定义一个WeatherData对象类型
WeatherData cobject = new WeatherData();
cobject.setcurrentDate(rs.getString(1));
cobject.setCity(rs.getString(2));
list.add(cobject);
}
return list;
} catch (SQLException e) {
e.printStackTrace();
return null;
}finally{
DBConn.close();
}
}
}
?
public class DBConn {
// 四个核心变量、六个方法
private static Connection conn = null;// 连接数据库
private static Statement stmt = null;// 发送SQL命令
private static PreparedStatement pstmt = null;// 发送带参数的sql命令
private static ResultSet rs = null;// 获得返回的数据集
public static Connection getConnection() {
// step1:找驱动
try {
Class.forName(Config.DRIVER);
conn = DriverManager.getConnection(Config.URL + Config.DBNAME,
Config.DBUSERNAME, Config.DBPASS);
// DatabaseMetaData dbmd = conn.getMetaData();
// System.out.println("db name: " + dbmd.getDatabaseProductName());
// System.out.println("tx: " + dbmd.supportsTransactions());
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
/**
* Author:Allison
* Date:2011-10-12
* Description:执行RUD操作
*/
public static int exeIUD(String sqlText) {
// step1:创建连接
getConnection();
// step2:判断连接
if (conn != null) {
try {
// step3:定义statement对象
stmt = conn.createStatement();
// step4:执行sql命令
int iRs = stmt.executeUpdate(sqlText);
retur