Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.MaYuan.Utils;
- import java.sql.Connection;
- import java.sql.DatabaseMetaData;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.Statement;
- import java.util.HashMap;
- public class DatabaseUtil {
- private static HashMap<String, Long> coins = new HashMap<String, Long>();
- private static HashMap<String, Boolean> exists = new HashMap<String, Boolean>();
- private static String url = "jdbc:mysql://127.0.0.1/sys?user=root&password=Aa14&useUnicode=true&characterEncoding=UTF8";
- private static Connection co = null;
- public static String table = "test";
- public static void connectMySQL(){
- try{
- Class.forName("com.mysql.jdbc.Driver");
- co = DriverManager.getConnection(url);
- }catch(Exception e){
- e.printStackTrace();
- System.out.println("Failed to connect");
- }
- }
- public static void closeConnect(){
- try{
- if(co.isClosed()){
- return;
- }
- co.close();
- }catch(Exception e){
- e.printStackTrace();
- System.out.println("Failed to close connection, Please redo");
- }
- }
- public static void reloadConnect(){
- try{
- if(co == null){
- closeConnect();
- connectMySQL();
- }
- }catch(Exception e){
- e.printStackTrace();
- System.out.println("Failed to reload connection");
- }
- }
- public static Boolean createTable(String Table){
- String sqlcode = "create table MyTable(Player varchar(255), Coins int, primary key(Player))".replace("MyTable", Table);
- try{
- if(tableExit(Table) != true){
- System.out.println("creating a new table called " + Table);
- Statement s = co.createStatement();
- int result = s.executeUpdate(sqlcode);
- if(result != -1){
- System.out.println("create table successful");
- return Boolean.valueOf(true);
- }
- }
- }catch(Exception e){
- e.printStackTrace();
- System.out.println("Failed to create table on MySQL");
- }finally{
- closeConnect();
- }
- return Boolean.valueOf(false);
- }
- public static boolean tableExit(String Table){
- try{
- if(co == null){
- connectMySQL();
- }
- DatabaseMetaData meta = co.getMetaData();
- ResultSet rsTables = meta.getTables(null, null, Table, null);
- if (rsTables.next()) {
- return Boolean.valueOf(true);
- }
- System.out.println("have not found table exit");
- return Boolean.valueOf(false);
- }catch (Exception e){
- e.printStackTrace();
- System.out.println("Failed to check table");
- return Boolean.valueOf(false);
- }
- }
- public static boolean coinExists(String name){
- String sqlcode = "select * from test where Player = ?";
- connectMySQL();
- try{
- PreparedStatement p = co.prepareStatement(sqlcode);
- p.setString(1, name);
- ResultSet rs = p.executeQuery();
- if (rs.next()) {
- exists.put(name, Boolean.valueOf(true));
- }else{
- exists.put(name, Boolean.valueOf(false));
- }
- }catch(Exception e){
- e.printStackTrace();
- System.out.println("Failed to check coin exit");
- exists.put(name, Boolean.valueOf(false));
- }
- return ((Boolean)exists.get(name)).booleanValue();
- }
- public static long getCoins(String name){
- String sqlcode = "select * from test where Player = ?";
- connectMySQL();
- if (!coinExists(name)) {
- return 0L;
- }
- try{
- PreparedStatement p = co.prepareStatement(sqlcode);
- p.setString(1, name);
- ResultSet rs = p.executeQuery();
- if(rs.next()){
- coins.put(name, Long.valueOf(rs.getLong("Coins")));
- }
- }catch(Exception e){
- e.printStackTrace();
- System.out.println("Failed to get coins for +" + name);
- coins.put(name, Long.valueOf(0L));
- }finally{
- closeConnect();
- }
- return ((Long)coins.get(name)).longValue();
- }
- public static void setCoins(String name, long money){
- String sqlcode = "insert into test(Player, Coins) VALUES (?, ?)";
- connectMySQL();
- try{
- deleteBank(name);
- PreparedStatement p = co.prepareStatement(sqlcode);
- p.setString(1, name);
- p.setLong(2, money);
- p.executeUpdate();
- }catch(Exception e){
- e.printStackTrace();
- System.out.println("Failed to set coins for " + name);
- }finally{
- closeConnect();
- }
- }
- public static void deleteBank(String name){
- String sqlcode = "delete * from test where Player = ?";
- connectMySQL();
- if (!coinExists(name)) {
- return;
- }
- try{
- PreparedStatement p = co.prepareStatement(sqlcode);
- p.setString(1, name);
- p.executeUpdate();
- }catch(Exception e){
- e.printStackTrace();
- System.out.println("Failed to delete bank");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement