Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package cn.BlockMC.Zao_hon;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.util.Calendar;
- import org.bukkit.entity.Player;
- import org.bukkit.scheduler.BukkitRunnable;
- public class Mysql {
- private static final String CREATE_USERS_TABLE = "CREATE TABLE Users (Name Char(15),UUID CHAR(40),Password CHAR(30),FirstLogin CHAR(30),LastLogin CHAR(30),IP CHAR(30))";
- private static final String INSERCT_NEW_USER = "INSERT INTO Users VALUES(?,?,?,?,?,?)";
- private static final String UPDATE_USER = "UPDATE Users Set LastLogin = ?,IP= ? WHERE UUID = ?";
- private static final String SELECT_USER_PASSWORD = "SELECT Password FROM Users WHERE UUID = ?";
- private static final String SELECT_USERS_FROM_IP = "SELECT UUID FROM Users WHERE IP = ?";
- private static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
- private String url;
- private Connection conn;
- private static Mysql mysql;
- public static Mysql get() {
- if (mysql == null)
- mysql = new Mysql();
- return mysql;
- }
- public void updatePlayer(Player p) {
- try {
- PreparedStatement s = conn.prepareStatement(UPDATE_USER);
- s.setString(1, getPresentTime());
- s.setString(2, p.getAddress().getAddress().getHostName());
- s.setString(3, p.getUniqueId().toString());
- s.execute();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- public void playerRegisted(Player p, String password) {
- try {
- String name = p.getName();
- String uuid = p.getUniqueId().toString();
- String presenttime = getPresentTime();
- String ip = p.getAddress().getAddress().getHostName();
- PreparedStatement s = conn.prepareStatement(INSERCT_NEW_USER);
- s.setString(1, name);
- s.setString(2, uuid);
- s.setString(3, password);
- s.setString(4, presenttime);
- s.setString(5, presenttime);
- s.setString(6, ip);
- s.execute();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- public int getUsersNumber(String ip) {
- try {
- PreparedStatement s = conn.prepareStatement(SELECT_USERS_FROM_IP);
- s.setString(1, ip);
- ResultSet rs = s.executeQuery();
- return rs.getFetchSize();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- return 0;
- }
- public String selectPlayerPassword(Player p) {
- try {
- PreparedStatement s = conn.prepareStatement(SELECT_USER_PASSWORD);
- s.setString(1, p.getUniqueId().toString());
- ResultSet rs = s.executeQuery();
- if (rs.next()) {
- return rs.getString(1);
- }
- } catch (SQLException e) {
- e.printStackTrace();
- }
- return "";
- }
- public void load(AnvilLogin plugin) {
- try {
- Class.forName(JDBC_DRIVER);
- } catch (ClassNotFoundException e) {
- plugin.getLogger().info("JDBC驱动加载失败");
- }
- try {
- String host = plugin.getConfig().getString("MYSQL.Host");
- String port = plugin.getConfig().getString("MYSQL.Port");
- String database = plugin.getConfig().getString("MYSQL.DatabaseName");
- String name = plugin.getConfig().getString("MYSQL.UserName");
- String password = plugin.getConfig().getString("MYSQL.Password");
- // url = "jdbc:mysql://" + host + ":" + port + "/" + database + "?characterEncoding=utf8&useSSL=true";
- conn = DriverManager.getConnection(
- "jdbc:mysql://" + host + ":" + port + "/" + database + "?characterEncoding=utf8&useSSL=true", name,
- password);
- try {
- conn.prepareStatement(CREATE_USERS_TABLE).execute();
- } catch (SQLException e) {
- }
- conn.prepareStatement(INSERCT_NEW_USER);
- conn.prepareStatement(UPDATE_USER);
- conn.prepareStatement(SELECT_USERS_FROM_IP);
- conn.prepareStatement(SELECT_USER_PASSWORD);
- plugin.getLogger().info("加载数据库成功");
- } catch (SQLException e) {
- plugin.getLogger().info("加载数据库失败..");
- }
- }
- // public Connection getConnection(){
- // return conn = DriverManager.getConnection(
- // "jdbc:mysql://" + host + ":" + port + "/" + database + "?characterEncoding=utf8&useSSL=true", name,
- // password);
- // }
- public void close() {
- try {
- conn.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- private String getPresentTime() {
- Calendar c = Calendar.getInstance();
- int year = c.get(Calendar.YEAR);
- int month = c.get(Calendar.MONTH);
- int day = c.get(Calendar.DAY_OF_MONTH);
- int hour = c.get(Calendar.HOUR_OF_DAY);
- int minute = c.get(Calendar.MINUTE);
- int second = c.get(Calendar.SECOND);
- return year + "." + month + "." + day + "-" + hour + ":" + minute + ":" + second;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement