init commit
This commit is contained in:
64
src/main/java/de/sebastianvonhelmersen/Database.java
Normal file
64
src/main/java/de/sebastianvonhelmersen/Database.java
Normal file
@@ -0,0 +1,64 @@
|
||||
package de.sebastianvonhelmersen;
|
||||
|
||||
import java.io.File;
|
||||
import java.sql.*;
|
||||
|
||||
public class Database {
|
||||
private Statement statement;
|
||||
public Database(File dbFile) {
|
||||
try
|
||||
{
|
||||
String path = "jdbc:sqlite:" + dbFile.getAbsolutePath();
|
||||
// create a database connection
|
||||
Connection connection = DriverManager.getConnection(path);
|
||||
Statement statement = connection.createStatement();
|
||||
this.statement = statement;
|
||||
|
||||
statement.setQueryTimeout(30); // set timeout to 30 sec.
|
||||
|
||||
statement.executeUpdate(
|
||||
"CREATE TABLE IF NOT EXISTS players (" +
|
||||
"uuid VARCHAR(36) PRIMARY KEY, " +
|
||||
"uid VARCHAR(50), " +
|
||||
"mcusername VARCHAR(50), " +
|
||||
"ladp_username VARCHAR(50), " +
|
||||
"firstName VARCHAR(50), " +
|
||||
"lastName VARCHAR(50)," +
|
||||
"mail VARCHAR(320))"
|
||||
);
|
||||
}
|
||||
catch(SQLException e)
|
||||
{
|
||||
// if the error message is "out of memory",
|
||||
// it probably means no database file is found
|
||||
e.printStackTrace(System.err);
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isAuthenticated(String uuid) {
|
||||
String query = "select * from players where uuid = ?";
|
||||
try(PreparedStatement prep_query = this.statement.getConnection().prepareStatement(query)){
|
||||
prep_query.setString(1, uuid);
|
||||
ResultSet rs = prep_query.executeQuery();
|
||||
return rs.next();
|
||||
} catch (SQLException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
public void addPlayer(String uuid, String mcusername, LdapUser user) {
|
||||
String query = "insert into players values (?, ?, ?, ?, ?, ?, ?)";
|
||||
try(PreparedStatement prep_query = this.statement.getConnection().prepareStatement(query)){
|
||||
prep_query.setString(1, uuid);
|
||||
prep_query.setString(2, String.valueOf(user.uid));
|
||||
prep_query.setString(3, mcusername);
|
||||
prep_query.setString(4, user.ldapName);
|
||||
prep_query.setString(5, user.firstName);
|
||||
prep_query.setString(6, user.lastName);
|
||||
prep_query.setString(7, user.email);
|
||||
prep_query.executeUpdate();
|
||||
} catch ( SQLException e ) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user