package com.javaniu; import java.io.BufferedWriter; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.Map; public class java牛每日注册用户数 { public static SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); public static Map<String, Integer> stat() { Map<String, Integer> map = new HashMap<String, Integer>(); Connection conn = null; try { String userName = "root"; String password = "111111"; String jdbcurl = "jdbc:mysql://localhost:3306/javaniu2?useUnicode=true&characterEncoding=utf-8"; Class.forName("com.mysql.jdbc.Driver").newInstance(); conn = DriverManager.getConnection(jdbcurl, userName, password); String sql = "select create_time from user where status=2"; PreparedStatement pstmt = conn.prepareStatement(sql); ResultSet rs = pstmt.executeQuery(); while (rs.next()) { Date _createTime = rs.getDate("create_time"); String createTime = format.format(_createTime); Integer count = map.get(createTime); if (count == null) { count = 0; } count++; map.put(createTime, count); System.out.println(createTime+"="+count); } pstmt.close(); } catch (Exception e) { System.err.println("Cannot connect to database server,Exception:" + e.getMessage()); } finally { if (conn != null) { try { conn.close(); conn = null; } catch (Exception e) { } } } return map; } public static void write(String path, String content, String encoding) throws IOException { File file = new File(path); file.delete(); file.createNewFile(); BufferedWriter writer = new BufferedWriter(new OutputStreamWriter( new FileOutputStream(file), encoding)); writer.write(content); writer.close(); } public static void main(String[] args) throws IOException { File file = new File("stat.txt"); file.delete(); file.createNewFile(); BufferedWriter writer = new BufferedWriter(new OutputStreamWriter( new FileOutputStream(file), "utf-8")); Map<String, Integer> map = stat(); for (String date : map.keySet()) { Integer count = map.get(date); writer.write(date + "," + count + "\n"); } writer.close(); } }
