Advertisement
Guest User

Untitled

a guest
Feb 5th, 2016
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.61 KB | None | 0 0
  1. package skyCubeStats150803;
  2.  
  3. import java.sql.*;
  4. import java.util.UUID;
  5.  
  6. import org.bukkit.entity.Player;
  7.  
  8. public class DatabaseConnect {
  9.    
  10.     int kills;
  11.     int tode;
  12.     boolean exists;
  13.     final String hostname = "176.31.206.88";
  14.     final String dbname = "stats";
  15.     final String user = "root";
  16.     final String password = "4LpkBtsn44vaYUgY";
  17.     Connection conn = null;
  18.    
  19.     public DatabaseConnect() { //Konstruktor mit Datenbankverbindung
  20.        
  21.        
  22.         try {
  23.             Class.forName("com.mysql.jdbc.Driver").newInstance();
  24.             }
  25.        
  26.         catch (Exception e) {
  27.                
  28.                 System.out.println("SkyCubeStats: Verbindung zur Datenbank fehlgeschlagen");
  29.                 e.printStackTrace();
  30.                
  31.             }
  32.        
  33.         try {
  34.            
  35.         String url = "jdbc:mysql://"+hostname+":3306/"+dbname;
  36.         conn = DriverManager.getConnection(url, user, password);
  37.        
  38.         }
  39.        
  40.         catch (SQLException sqle) {
  41.            
  42.             sqle.printStackTrace();
  43.             System.out.println("SQLException: " + sqle.getMessage());
  44.             System.out.println("SQLState: " + sqle.getSQLState());
  45.             System.out.println("VendorError: " + sqle.getErrorCode());
  46.            
  47.         }
  48.        
  49.     } //Konstruktor Ende
  50.    
  51.     //Statistiken ändern wenn Spieler von Spieler gekillt
  52.    
  53.     public void addKillAndDeath(Player death, Player killer) {
  54.        
  55.         UUID deathuuid = UUIDFetcher.getUUID(death.getName());
  56.         UUID killeruuid = UUIDFetcher.getUUID(killer.getName());
  57.         int amountkiller = 1;
  58.         int amountdeath = 1;
  59.        
  60.         //Datenbankzugriff
  61.         try{
  62.             //Testen ob death in Datenbank
  63.             Statement stmt = conn.createStatement();
  64.             ResultSet rs = stmt.executeQuery("SELECT count(*) FROM PlayerStatsSkyPvp WHERE Name = '"+deathuuid+"'");
  65.            
  66.             while (rs.next()) {
  67.                
  68.                 amountdeath = rs.getInt("count(*)");
  69.                
  70.                 }
  71.             //Testen ob killer in Datenbank
  72.             ResultSet rs2 = stmt.executeQuery("SELECT count(*) FROM PlayerStatsSkyPvp WHERE Name = '"+killeruuid+"'");
  73.            
  74.             while (rs2.next()) {
  75.                
  76.                  amountkiller = rs2.getInt("count(*)");
  77.                
  78.                 }
  79.            
  80.             //If Abfragen ob Killer & Death schon in db und entsprechende Änderungen an db
  81.            
  82.             if(amountdeath > 0) {
  83.                
  84.                 stmt.executeUpdate("UPDATE PlayerStatsSkyPvp SET Tode = Tode + 1 WHERE NAME = '"+deathuuid+"'");
  85.                
  86.             } else {
  87.                
  88.                 stmt.executeUpdate("INSERT INTO PlayerStatsSkyPvp (Name, Kills, Tode) VALUES ('"+deathuuid+"','0','1');");
  89.                
  90.             }
  91.            
  92.             if(amountkiller > 0) {
  93.                
  94.                 stmt.executeUpdate("UPDATE PlayerStatsSkyPvp SET Kills = Kills + 1 WHERE NAME = '"+killeruuid+"'");
  95.                
  96.             } else {
  97.                
  98.                 stmt.executeUpdate("INSERT INTO PlayerStatsSkyPvp (Name, Kills, Tode) VALUES ('"+killeruuid+"','1','0');");
  99.                
  100.             }
  101.            
  102.             stmt.close();
  103.        
  104.         }
  105.         catch (SQLException e) {
  106.            
  107.             e.printStackTrace();
  108.            
  109.         }
  110.        
  111.        
  112.     } //Statistiken ändern wenn Spieler von Spieler gekillt Ende
  113.    
  114.   //Statistiken ändern wenn Spieler stirbt
  115.    
  116.     public void addDeath(Player death) {
  117.        
  118.         UUID deathuuid = UUIDFetcher.getUUID(death.getName());
  119.         int amountdeath = 1;
  120.        
  121.        
  122.         try {
  123.             //Testen ob death in db
  124.             Statement stmt = conn.createStatement();
  125.             ResultSet rs = stmt.executeQuery("SELECT count(*) FROM PlayerStatsSkyPvp WHERE Name = '"+deathuuid+"'");
  126.            
  127.             while (rs.next()) {
  128.                
  129.                 amountdeath = rs.getInt("count(*)");
  130.                
  131.                 }
  132.            
  133.             //If Abfragen ob death in db und entsprechende Anweisungen
  134.            
  135.             if(amountdeath > 0) {
  136.                
  137.                 stmt.executeUpdate("UPDATE PlayerStatsSkyPvp SET Tode = Tode + 1 WHERE NAME = '"+deathuuid+"'");
  138.                
  139.             } else {
  140.                
  141.                 stmt.executeUpdate("INSERT INTO PlayerStatsSkyPvp (Name, Kills, Tode) VALUES ('"+deathuuid+"','0','1');");
  142.                
  143.             }
  144.            
  145.             stmt.close();
  146.            
  147.         } catch (SQLException e) {
  148.            
  149.             e.printStackTrace();
  150.            
  151.         }
  152.    
  153.     } //Statistiken ändern wenn Spieler stirbt Ende
  154.    
  155.     //Getter und Setter Kills
  156.     public int getKills(Player p) {
  157.        
  158.         int kills = 0;
  159.         UUID playeruuid = UUIDFetcher.getUUID(p.getName());
  160.        
  161.         try {
  162.            
  163.             Statement stmt = conn.createStatement();
  164.             ResultSet rs = stmt.executeQuery("SELECT Kills FROM PlayerStatsSkyPvp WHERE NAME ='"+playeruuid+"'");
  165.            
  166.             while(rs.next()) {
  167.                
  168.                 kills = rs.getInt("Kills");
  169.                
  170.             }
  171.            
  172.             stmt.close();
  173.            
  174.         } catch (SQLException e) {
  175.            
  176.             e.printStackTrace();
  177.            
  178.         }
  179.        
  180.         return kills;
  181.  
  182.     }
  183.    
  184.     public int getTode(Player p) {
  185.        
  186.         int tode = 0;
  187.         UUID playeruuid = UUIDFetcher.getUUID(p.getName());
  188.        
  189.         try {
  190.            
  191.             Statement stmt = conn.createStatement();
  192.             ResultSet rs = stmt.executeQuery("SELECT Tode FROM PlayerStatsSkyPvp WHERE NAME ='"+playeruuid+"'");
  193.            
  194.             while(rs.next()) {
  195.                
  196.                 tode = rs.getInt("Tode");
  197.                
  198.             }
  199.            
  200.             stmt.close();
  201.            
  202.         } catch (SQLException e) {
  203.            
  204.             e.printStackTrace();
  205.            
  206.         }
  207.        
  208.         return tode;
  209.  
  210.     } //Getter und Setter Kills Ende
  211.    
  212.     public boolean exists(Player p) {
  213.        
  214.         boolean exists = false;
  215.         int amount = 1;
  216.         UUID playeruuid = UUIDFetcher.getUUID(p.getName());
  217.        
  218.         try {
  219.            
  220.             Statement stmt = conn.createStatement();
  221.             ResultSet rs = stmt.executeQuery("SELECT count(*) FROM PlayerStatsSkyPvp WHERE NAME ='"+playeruuid+"'");
  222.            
  223.             while(rs.next()) {
  224.                
  225.                 amount = rs.getInt("count(*)");
  226.                
  227.             }
  228.            
  229.             if(amount > 0) {
  230.                
  231.                 exists = true;
  232.                
  233.             } else {
  234.                
  235.                 exists = false;
  236.                
  237.             }
  238.            
  239.         } catch (SQLException e) {
  240.            
  241.             e.printStackTrace();
  242.            
  243.         }
  244.        
  245.         return exists;
  246.        
  247.     }
  248.    
  249.     public void endConnection() {
  250.        
  251.         try {
  252.            
  253.             conn.close();
  254.            
  255.         } catch (SQLException e) {
  256.            
  257.             e.printStackTrace();
  258.            
  259.         }
  260.        
  261.        
  262.     }
  263.    
  264.     public void delete(Player p) {
  265.        
  266.         UUID playeruuid = UUIDFetcher.getUUID(p.getName());
  267.        
  268.         try {
  269.            
  270.             Statement stmt = conn.createStatement();
  271.             stmt.executeUpdate("DELETE FROM PlayerStatsSkyPvp WHERE NAME = '"+playeruuid+"'");
  272.             stmt.close();
  273.            
  274.         } catch (SQLException e) {
  275.            
  276.             e.printStackTrace();
  277.            
  278.         }
  279.     }
  280. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement