public class GetDataIntoTable {

public static void main(String[] args) throws Exception {

Connection conn = DatabaseConnection.getConnection();

String cityName = "广州";

if (getByCityName(cityName)) {

PreparedStatement pstmt = conn.prepareStatement("SELECT city,message FROM tianqi WHERE city=?");

pstmt.setString(1, cityName);

ResultSet rs = pstmt.executeQuery();

if (rs.next()) {

System.out.print(rs.getString(2));

}

} else {

PreparedStatement pstmt = conn.prepareStatement("INSERT INTO tianqi(city,message,modify) VALUES(?,?,?)");

String msg = getData(cityName);

pstmt.setString(1, cityName);

pstmt.setString(2, msg);

pstmt.setTimestamp(3, new Timestamp(new java.util.Date().getTime()));

pstmt.executeUpdate();

}

}

public static String getData(String cityName) throws Exception {

String city = URLEncoder.encode(cityName, "UTF-8");

URLConnection conn = new URL(

"http://v.juhe.cn/weather/index?format=2&cityname=" + city + "&key=e643d606ab8b9b5636dcc02368")

.openConnection();

conn.connect();

InputStream input = conn.getInputStream();

BufferedReader reader = new BufferedReader(new InputStreamReader(input, "UTF-8"));

return reader.readLine();

}

public static boolean getByCityName(String city) throws Exception {

Connection conn = DatabaseConnection.getConnection();

PreparedStatement pstmt = conn.prepareStatement("SELECT COUNT(*) FROM tianqi WHERE city=?");

pstmt.setString(1, city);

ResultSet rs = pstmt.executeQuery();

if (rs.next()) {

if (rs.getInt(1) > 0) {

return true;

}

}

return false;

}

}

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐