mirror of
https://github.com/plan-player-analytics/Plan.git
synced 2024-09-17 17:21:00 +02:00
Refactored UsersTable
This commit is contained in:
parent
e1ec3532c5
commit
1241019fa4
@ -4,9 +4,11 @@ import com.djrapitops.plugin.utilities.Verify;
|
||||
import main.java.com.djrapitops.plan.api.exceptions.DBCreateTableException;
|
||||
import main.java.com.djrapitops.plan.data.UserInfo;
|
||||
import main.java.com.djrapitops.plan.database.databases.SQLDB;
|
||||
import main.java.com.djrapitops.plan.database.processing.ExecStatement;
|
||||
import main.java.com.djrapitops.plan.database.processing.QueryAllStatement;
|
||||
import main.java.com.djrapitops.plan.database.processing.QueryStatement;
|
||||
import main.java.com.djrapitops.plan.database.sql.*;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
@ -52,23 +54,19 @@ public class UsersTable extends UserIDTable {
|
||||
* @throws SQLException when an error at retrieving the UUIDs happens
|
||||
*/
|
||||
public Set<UUID> getSavedUUIDs() throws SQLException {
|
||||
Set<UUID> uuids = new HashSet<>();
|
||||
String sql = Select.from(tableName, columnUUID).toString();
|
||||
|
||||
PreparedStatement statement = null;
|
||||
ResultSet set = null;
|
||||
try (Connection connection = getConnection()) {
|
||||
statement = connection.prepareStatement(Select.from(tableName, columnUUID).toString());
|
||||
statement.setFetchSize(5000);
|
||||
|
||||
set = statement.executeQuery();
|
||||
while (set.next()) {
|
||||
UUID uuid = UUID.fromString(set.getString(columnUUID));
|
||||
uuids.add(uuid);
|
||||
return query(new QueryAllStatement<Set<UUID>>(sql, 50000) {
|
||||
@Override
|
||||
public Set<UUID> processResults(ResultSet set) throws SQLException {
|
||||
Set<UUID> uuids = new HashSet<>();
|
||||
while (set.next()) {
|
||||
UUID uuid = UUID.fromString(set.getString(columnUUID));
|
||||
uuids.add(uuid);
|
||||
}
|
||||
return uuids;
|
||||
}
|
||||
return uuids;
|
||||
} finally {
|
||||
close(set, statement);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@ -79,16 +77,14 @@ public class UsersTable extends UserIDTable {
|
||||
*/
|
||||
@Override
|
||||
public void removeUser(UUID uuid) throws SQLException {
|
||||
PreparedStatement statement = null;
|
||||
try (Connection connection = getConnection()) {
|
||||
statement = connection.prepareStatement("DELETE FROM " + tableName + " WHERE (" + columnUUID + "=?)");
|
||||
statement.setString(1, uuid.toString());
|
||||
String sql = "DELETE FROM " + tableName + " WHERE (" + columnUUID + "=?)";
|
||||
|
||||
statement.execute();
|
||||
commit(connection);
|
||||
} finally {
|
||||
close(statement);
|
||||
}
|
||||
execute(new ExecStatement(sql) {
|
||||
@Override
|
||||
public void prepare(PreparedStatement statement) throws SQLException {
|
||||
statement.setString(1, uuid.toString());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@ -113,38 +109,40 @@ public class UsersTable extends UserIDTable {
|
||||
* @throws SQLException DB Error
|
||||
*/
|
||||
public UUID getUuidOf(String playerName) throws SQLException {
|
||||
PreparedStatement statement = null;
|
||||
ResultSet set = null;
|
||||
try (Connection connection = getConnection()) {
|
||||
statement = connection.prepareStatement(Select.from(tableName, columnUUID)
|
||||
.where("UPPER(" + columnName + ")=UPPER(?)")
|
||||
.toString());
|
||||
statement.setString(1, playerName);
|
||||
set = statement.executeQuery();
|
||||
if (set.next()) {
|
||||
String uuidS = set.getString(columnUUID);
|
||||
return UUID.fromString(uuidS);
|
||||
String sql = Select.from(tableName, columnUUID)
|
||||
.where("UPPER(" + columnName + ")=UPPER(?)")
|
||||
.toString();
|
||||
|
||||
return query(new QueryStatement<UUID>(sql) {
|
||||
@Override
|
||||
public void prepare(PreparedStatement statement) throws SQLException {
|
||||
statement.setString(1, playerName);
|
||||
}
|
||||
return null;
|
||||
} finally {
|
||||
close(set, statement);
|
||||
}
|
||||
|
||||
@Override
|
||||
public UUID processResults(ResultSet set) throws SQLException {
|
||||
if (set.next()) {
|
||||
String uuidS = set.getString(columnUUID);
|
||||
return UUID.fromString(uuidS);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public List<Long> getRegisterDates() throws SQLException {
|
||||
PreparedStatement statement = null;
|
||||
ResultSet set = null;
|
||||
try (Connection connection = getConnection()) {
|
||||
statement = connection.prepareStatement(Select.from(tableName, columnRegistered).toString());
|
||||
set = statement.executeQuery();
|
||||
List<Long> registerDates = new ArrayList<>();
|
||||
while (set.next()) {
|
||||
registerDates.add(set.getLong(columnRegistered));
|
||||
String sql = Select.from(tableName, columnRegistered).toString();
|
||||
|
||||
return query(new QueryAllStatement<List<Long>>(sql, 50000) {
|
||||
@Override
|
||||
public List<Long> processResults(ResultSet set) throws SQLException {
|
||||
List<Long> registerDates = new ArrayList<>();
|
||||
while (set.next()) {
|
||||
registerDates.add(set.getLong(columnRegistered));
|
||||
}
|
||||
return registerDates;
|
||||
}
|
||||
return registerDates;
|
||||
} finally {
|
||||
close(set, statement);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@ -159,100 +157,99 @@ public class UsersTable extends UserIDTable {
|
||||
public void registerUser(UUID uuid, long registered, String name) throws SQLException {
|
||||
Verify.nullCheck(uuid, name);
|
||||
|
||||
PreparedStatement statement = null;
|
||||
try (Connection connection = getConnection()) {
|
||||
statement = connection.prepareStatement(insertStatement);
|
||||
statement.setString(1, uuid.toString());
|
||||
statement.setLong(2, registered);
|
||||
statement.setString(3, name);
|
||||
|
||||
statement.execute();
|
||||
commit(connection);
|
||||
} finally {
|
||||
close(statement);
|
||||
}
|
||||
execute(new ExecStatement(insertStatement) {
|
||||
@Override
|
||||
public void prepare(PreparedStatement statement) throws SQLException {
|
||||
statement.setString(1, uuid.toString());
|
||||
statement.setLong(2, registered);
|
||||
statement.setString(3, name);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public boolean isRegistered(UUID uuid) throws SQLException {
|
||||
PreparedStatement statement = null;
|
||||
ResultSet set = null;
|
||||
try (Connection connection = getConnection()) {
|
||||
statement = connection.prepareStatement(Select.from(tableName, "COUNT(" + columnID + ") as c")
|
||||
.where(columnUUID + "=?")
|
||||
.toString());
|
||||
statement.setString(1, uuid.toString());
|
||||
set = statement.executeQuery();
|
||||
return set.next() && set.getInt("c") >= 1;
|
||||
} finally {
|
||||
close(set, statement);
|
||||
}
|
||||
String sql = Select.from(tableName, "COUNT(" + columnID + ") as c")
|
||||
.where(columnUUID + "=?")
|
||||
.toString();
|
||||
|
||||
return query(new QueryStatement<Boolean>(sql) {
|
||||
@Override
|
||||
public void prepare(PreparedStatement statement) throws SQLException {
|
||||
statement.setString(1, uuid.toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean processResults(ResultSet set) throws SQLException {
|
||||
return set.next() && set.getInt("c") >= 1;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void updateName(UUID uuid, String name) throws SQLException {
|
||||
PreparedStatement statement = null;
|
||||
try (Connection connection = getConnection()) {
|
||||
statement = connection.prepareStatement(Update.values(tableName, columnName)
|
||||
.where(columnUUID + "=?")
|
||||
.toString());
|
||||
statement.setString(1, name);
|
||||
statement.setString(2, uuid.toString());
|
||||
String sql = Update.values(tableName, columnName)
|
||||
.where(columnUUID + "=?")
|
||||
.toString();
|
||||
|
||||
statement.execute();
|
||||
commit(connection);
|
||||
} finally {
|
||||
close(statement);
|
||||
}
|
||||
execute(new ExecStatement(sql) {
|
||||
@Override
|
||||
public void prepare(PreparedStatement statement) throws SQLException {
|
||||
statement.setString(1, name);
|
||||
statement.setString(2, uuid.toString());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public int getTimesKicked(UUID uuid) throws SQLException {
|
||||
PreparedStatement statement = null;
|
||||
ResultSet set = null;
|
||||
try (Connection connection = getConnection()) {
|
||||
statement = connection.prepareStatement(Select.from(tableName, columnTimesKicked)
|
||||
.where(columnUUID + "=?")
|
||||
.toString());
|
||||
statement.setString(1, uuid.toString());
|
||||
set = statement.executeQuery();
|
||||
if (set.next()) {
|
||||
return set.getInt(columnTimesKicked);
|
||||
String sql = Select.from(tableName, columnTimesKicked)
|
||||
.where(columnUUID + "=?")
|
||||
.toString();
|
||||
|
||||
return query(new QueryStatement<Integer>(sql) {
|
||||
@Override
|
||||
public void prepare(PreparedStatement statement) throws SQLException {
|
||||
statement.setString(1, uuid.toString());
|
||||
}
|
||||
return 0;
|
||||
} finally {
|
||||
close(set, statement);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer processResults(ResultSet set) throws SQLException {
|
||||
if (set.next()) {
|
||||
return set.getInt(columnTimesKicked);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void kicked(UUID uuid) throws SQLException {
|
||||
PreparedStatement statement = null;
|
||||
try (Connection connection = getConnection()) {
|
||||
statement = connection.prepareStatement("UPDATE " + tableName + " SET "
|
||||
+ columnTimesKicked + "=" + columnTimesKicked + "+ 1" +
|
||||
" WHERE " + columnUUID + "=?");
|
||||
statement.setString(1, uuid.toString());
|
||||
String sql = "UPDATE " + tableName + " SET "
|
||||
+ columnTimesKicked + "=" + columnTimesKicked + "+ 1" +
|
||||
" WHERE " + columnUUID + "=?";
|
||||
|
||||
statement.execute();
|
||||
commit(connection);
|
||||
} finally {
|
||||
close(statement);
|
||||
}
|
||||
execute(new ExecStatement(sql) {
|
||||
@Override
|
||||
public void prepare(PreparedStatement statement) throws SQLException {
|
||||
statement.setString(1, uuid.toString());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public String getPlayerName(UUID uuid) throws SQLException {
|
||||
PreparedStatement statement = null;
|
||||
ResultSet set = null;
|
||||
try (Connection connection = getConnection()) {
|
||||
statement = connection.prepareStatement(Select.from(tableName, columnName)
|
||||
.where(columnUUID + "=?")
|
||||
.toString());
|
||||
statement.setString(1, uuid.toString());
|
||||
set = statement.executeQuery();
|
||||
if (set.next()) {
|
||||
return set.getString(columnName);
|
||||
String sql = Select.from(tableName, columnName).where(columnUUID + "=?").toString();
|
||||
|
||||
return query(new QueryStatement<String>(sql) {
|
||||
@Override
|
||||
public void prepare(PreparedStatement statement) throws SQLException {
|
||||
statement.setString(1, uuid.toString());
|
||||
}
|
||||
return null;
|
||||
} finally {
|
||||
close(set, statement);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String processResults(ResultSet set) throws SQLException {
|
||||
if (set.next()) {
|
||||
return set.getString(columnName);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@ -264,32 +261,30 @@ public class UsersTable extends UserIDTable {
|
||||
*/
|
||||
public List<String> getMatchingNames(String name) throws SQLException {
|
||||
String searchString = "%" + name + "%";
|
||||
List<String> matchingNames = new ArrayList<>();
|
||||
NicknamesTable nicknamesTable = db.getNicknamesTable();
|
||||
String sql = "SELECT " + columnName + " FROM " + tableName +
|
||||
" WHERE " + columnName + " LIKE LOWER(?)" +
|
||||
" UNION SELECT " + columnName + " FROM " + tableName +
|
||||
" WHERE " + columnID + " =" +
|
||||
" (SELECT " + columnID + " FROM " + nicknamesTable +
|
||||
" WHERE " + nicknamesTable.getColumnNick() + " LIKE LOWER(?))";
|
||||
|
||||
PreparedStatement statement = null;
|
||||
ResultSet set = null;
|
||||
try (Connection connection = getConnection()) {
|
||||
NicknamesTable nicknamesTable = db.getNicknamesTable();
|
||||
statement = connection.prepareStatement(
|
||||
"SELECT " + columnName + " FROM " + tableName +
|
||||
" WHERE " + columnName + " LIKE LOWER(?)" +
|
||||
" UNION SELECT " + columnName + " FROM " + tableName +
|
||||
" WHERE " + columnID + " =" +
|
||||
" (SELECT " + columnID + " FROM " + nicknamesTable +
|
||||
" WHERE " + nicknamesTable.getColumnNick() + " LIKE LOWER(?))"
|
||||
);
|
||||
statement.setFetchSize(5000);
|
||||
statement.setString(1, searchString);
|
||||
statement.setString(2, searchString);
|
||||
|
||||
set = statement.executeQuery();
|
||||
while (set.next()) {
|
||||
matchingNames.add(set.getString("name"));
|
||||
return query(new QueryStatement<List<String>>(sql, 5000) {
|
||||
@Override
|
||||
public void prepare(PreparedStatement statement) throws SQLException {
|
||||
statement.setString(1, searchString);
|
||||
statement.setString(2, searchString);
|
||||
}
|
||||
return matchingNames;
|
||||
} finally {
|
||||
close(set, statement);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> processResults(ResultSet set) throws SQLException {
|
||||
List<String> matchingNames = new ArrayList<>();
|
||||
while (set.next()) {
|
||||
matchingNames.add(set.getString("name"));
|
||||
}
|
||||
return matchingNames;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public String getColumnName() {
|
||||
@ -309,144 +304,131 @@ public class UsersTable extends UserIDTable {
|
||||
if (Verify.isEmpty(users)) {
|
||||
return;
|
||||
}
|
||||
PreparedStatement statement = null;
|
||||
try (Connection connection = getConnection()) {
|
||||
statement = connection.prepareStatement(insertStatement);
|
||||
for (Map.Entry<UUID, UserInfo> entry : users.entrySet()) {
|
||||
UUID uuid = entry.getKey();
|
||||
UserInfo info = entry.getValue();
|
||||
long registered = info.getRegistered();
|
||||
String name = info.getName();
|
||||
|
||||
statement.setString(1, uuid.toString());
|
||||
statement.setLong(2, registered);
|
||||
statement.setString(3, name);
|
||||
statement.addBatch();
|
||||
executeBatch(new ExecStatement(insertStatement) {
|
||||
@Override
|
||||
public void prepare(PreparedStatement statement) throws SQLException {
|
||||
for (Map.Entry<UUID, UserInfo> entry : users.entrySet()) {
|
||||
UUID uuid = entry.getKey();
|
||||
UserInfo info = entry.getValue();
|
||||
long registered = info.getRegistered();
|
||||
String name = info.getName();
|
||||
|
||||
statement.setString(1, uuid.toString());
|
||||
statement.setLong(2, registered);
|
||||
statement.setString(3, name);
|
||||
statement.addBatch();
|
||||
}
|
||||
}
|
||||
|
||||
statement.executeBatch();
|
||||
commit(connection);
|
||||
} finally {
|
||||
close(statement);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public Map<UUID, UserInfo> getUsers() throws SQLException {
|
||||
PreparedStatement statement = null;
|
||||
ResultSet set = null;
|
||||
try (Connection connection = getConnection()) {
|
||||
statement = connection.prepareStatement(Select.all(tableName).toString());
|
||||
statement.setFetchSize(20000);
|
||||
set = statement.executeQuery();
|
||||
Map<UUID, UserInfo> users = new HashMap<>();
|
||||
while (set.next()) {
|
||||
UUID uuid = UUID.fromString(set.getString(columnUUID));
|
||||
String name = set.getString(columnName);
|
||||
long registered = set.getLong(columnRegistered);
|
||||
String sql = Select.all(tableName).toString();
|
||||
|
||||
users.put(uuid, new UserInfo(uuid, name, registered, false, false));
|
||||
return query(new QueryAllStatement<Map<UUID, UserInfo>>(sql, 20000) {
|
||||
@Override
|
||||
public Map<UUID, UserInfo> processResults(ResultSet set) throws SQLException {
|
||||
Map<UUID, UserInfo> users = new HashMap<>();
|
||||
while (set.next()) {
|
||||
UUID uuid = UUID.fromString(set.getString(columnUUID));
|
||||
String name = set.getString(columnName);
|
||||
long registered = set.getLong(columnRegistered);
|
||||
|
||||
users.put(uuid, new UserInfo(uuid, name, registered, false, false));
|
||||
}
|
||||
return users;
|
||||
}
|
||||
return users;
|
||||
} finally {
|
||||
close(set, statement);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void updateKicked(Map<UUID, Integer> timesKicked) throws SQLException {
|
||||
if (Verify.isEmpty(timesKicked)) {
|
||||
return;
|
||||
}
|
||||
PreparedStatement statement = null;
|
||||
try (Connection connection = getConnection()) {
|
||||
statement = connection.prepareStatement("UPDATE " + tableName + " SET "
|
||||
+ columnTimesKicked + "=?" +
|
||||
" WHERE " + columnUUID + "=?");
|
||||
for (Map.Entry<UUID, Integer> entry : timesKicked.entrySet()) {
|
||||
UUID uuid = entry.getKey();
|
||||
int kickCount = entry.getValue();
|
||||
statement.setInt(1, kickCount);
|
||||
statement.setString(2, uuid.toString());
|
||||
statement.addBatch();
|
||||
}
|
||||
|
||||
statement.executeBatch();
|
||||
commit(connection);
|
||||
} finally {
|
||||
close(statement);
|
||||
}
|
||||
String sql = "UPDATE " + tableName + " SET " + columnTimesKicked + "=? WHERE " + columnUUID + "=?";
|
||||
|
||||
executeBatch(new ExecStatement(sql) {
|
||||
@Override
|
||||
public void prepare(PreparedStatement statement) throws SQLException {
|
||||
for (Map.Entry<UUID, Integer> entry : timesKicked.entrySet()) {
|
||||
UUID uuid = entry.getKey();
|
||||
int kickCount = entry.getValue();
|
||||
statement.setInt(1, kickCount);
|
||||
statement.setString(2, uuid.toString());
|
||||
statement.addBatch();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public Map<UUID, Integer> getAllTimesKicked() throws SQLException {
|
||||
PreparedStatement statement = null;
|
||||
ResultSet set = null;
|
||||
try (Connection connection = getConnection()) {
|
||||
statement = connection.prepareStatement(Select.from(tableName, columnUUID, columnTimesKicked)
|
||||
.toString());
|
||||
statement.setFetchSize(20000);
|
||||
set = statement.executeQuery();
|
||||
Map<UUID, Integer> timesKicked = new HashMap<>();
|
||||
while (set.next()) {
|
||||
UUID uuid = UUID.fromString(set.getString(columnUUID));
|
||||
int kickCount = set.getInt(columnTimesKicked);
|
||||
String sql = Select.from(tableName, columnUUID, columnTimesKicked).toString();
|
||||
|
||||
timesKicked.put(uuid, kickCount);
|
||||
return query(new QueryAllStatement<Map<UUID, Integer>>(sql, 20000) {
|
||||
@Override
|
||||
public Map<UUID, Integer> processResults(ResultSet set) throws SQLException {
|
||||
Map<UUID, Integer> timesKicked = new HashMap<>();
|
||||
while (set.next()) {
|
||||
UUID uuid = UUID.fromString(set.getString(columnUUID));
|
||||
int kickCount = set.getInt(columnTimesKicked);
|
||||
|
||||
timesKicked.put(uuid, kickCount);
|
||||
}
|
||||
return timesKicked;
|
||||
}
|
||||
return timesKicked;
|
||||
} finally {
|
||||
close(set, statement);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public Map<UUID, String> getPlayerNames() throws SQLException {
|
||||
PreparedStatement statement = null;
|
||||
ResultSet set = null;
|
||||
try (Connection connection = getConnection()) {
|
||||
statement = connection.prepareStatement(Select.from(tableName, columnUUID, columnName).toString());
|
||||
statement.setFetchSize(20000);
|
||||
set = statement.executeQuery();
|
||||
Map<UUID, String> names = new HashMap<>();
|
||||
while (set.next()) {
|
||||
UUID uuid = UUID.fromString(set.getString(columnUUID));
|
||||
String name = set.getString(columnName);
|
||||
String sql = Select.from(tableName, columnUUID, columnName).toString();
|
||||
|
||||
names.put(uuid, name);
|
||||
return query(new QueryAllStatement<Map<UUID, String>>(sql, 20000) {
|
||||
@Override
|
||||
public Map<UUID, String> processResults(ResultSet set) throws SQLException {
|
||||
Map<UUID, String> names = new HashMap<>();
|
||||
while (set.next()) {
|
||||
UUID uuid = UUID.fromString(set.getString(columnUUID));
|
||||
String name = set.getString(columnName);
|
||||
|
||||
names.put(uuid, name);
|
||||
}
|
||||
return names;
|
||||
}
|
||||
return names;
|
||||
} finally {
|
||||
close(set, statement);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public int getPlayerCount() throws SQLException {
|
||||
PreparedStatement statement = null;
|
||||
ResultSet set = null;
|
||||
try (Connection connection = getConnection()) {
|
||||
statement = connection.prepareStatement("SELECT COUNT(*) AS player_count FROM " + tableName);
|
||||
statement.setFetchSize(5000);
|
||||
String sql = "SELECT COUNT(*) AS player_count FROM " + tableName;
|
||||
|
||||
set = statement.executeQuery();
|
||||
if (set.next()) {
|
||||
return set.getInt("player_count");
|
||||
return query(new QueryAllStatement<Integer>(sql) {
|
||||
@Override
|
||||
public Integer processResults(ResultSet set) throws SQLException {
|
||||
if (set.next()) {
|
||||
return set.getInt("player_count");
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
return 0;
|
||||
} finally {
|
||||
close(set, statement);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public Optional<Long> getRegisterDate(UUID uuid) throws SQLException {
|
||||
PreparedStatement statement = null;
|
||||
ResultSet set = null;
|
||||
try (Connection connection = getConnection()) {
|
||||
statement = connection.prepareStatement(Select.from(tableName, columnRegistered).where(columnUUID + "=?").toString());
|
||||
statement.setString(1, uuid.toString());
|
||||
set = statement.executeQuery();
|
||||
if (set.next()) {
|
||||
Optional.of(set.getLong(columnRegistered));
|
||||
String sql = Select.from(tableName, columnRegistered).where(columnUUID + "=?").toString();
|
||||
|
||||
return query(new QueryStatement<Optional<Long>>(sql) {
|
||||
@Override
|
||||
public void prepare(PreparedStatement statement) throws SQLException {
|
||||
statement.setString(1, uuid.toString());
|
||||
}
|
||||
return Optional.empty();
|
||||
} finally {
|
||||
close(set, statement);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<Long> processResults(ResultSet set) throws SQLException {
|
||||
if (set.next()) {
|
||||
Optional.of(set.getLong(columnRegistered));
|
||||
}
|
||||
return Optional.empty();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user