Mise à jour ORM + Utilisation plus simple des logs
- toute la base de données fonctionne en utf8mb4 - Le PlayerFinder gère l'historique des pseudos - Fin de l'utilisation de l'ancien ORM
This commit is contained in:
@@ -1,54 +0,0 @@
|
||||
package fr.pandacube.java.util.db;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.sql.DriverManager;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Statement;
|
||||
|
||||
public class DBConnection {
|
||||
Connection conn;
|
||||
private String url;
|
||||
private String login;
|
||||
private String pass;
|
||||
|
||||
public DBConnection(String host, int port, String dbname, String l, String p) throws ClassNotFoundException, SQLException {
|
||||
Class.forName("com.mysql.jdbc.Driver");
|
||||
url = "jdbc:mysql://"+host+":"+port+"/"+dbname;
|
||||
login = l;
|
||||
pass = p;
|
||||
conn = DriverManager.getConnection(url, login, pass);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
public void reconnectIfNecessary() throws SQLException
|
||||
{
|
||||
try
|
||||
{
|
||||
Statement stmt = conn.createStatement();
|
||||
stmt.close();
|
||||
}
|
||||
catch(SQLException e)
|
||||
{
|
||||
close();
|
||||
conn = DriverManager.getConnection(url, login, pass);
|
||||
}
|
||||
}
|
||||
|
||||
public Connection getConnection() throws SQLException
|
||||
{
|
||||
if (!conn.isValid(1))
|
||||
reconnectIfNecessary();
|
||||
return conn;
|
||||
}
|
||||
|
||||
|
||||
public void close() {
|
||||
try {
|
||||
conn.close();
|
||||
} catch (Exception e) { }
|
||||
|
||||
}
|
||||
|
||||
}
|
@@ -4,6 +4,8 @@ import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import fr.pandacube.java.util.db2.sql_tools.DBConnection;
|
||||
|
||||
/**
|
||||
* <b>ORM = Object-Relational Mapping</b><br/>
|
||||
* Liste des tables avec leur classes :
|
||||
|
@@ -8,6 +8,8 @@ import java.sql.Statement;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
import fr.pandacube.java.util.db2.sql_tools.DBConnection;
|
||||
|
||||
public abstract class SQLElement {
|
||||
|
||||
DBConnection db = ORM.connection;
|
||||
@@ -40,7 +42,7 @@ public abstract class SQLElement {
|
||||
|
||||
try {
|
||||
Connection conn;
|
||||
conn = db.getConnection();
|
||||
conn = db.getNativeConnection();
|
||||
|
||||
String[] fields = getFieldsName(), values = getValues();
|
||||
|
||||
@@ -118,7 +120,7 @@ public abstract class SQLElement {
|
||||
try {
|
||||
if (saved)
|
||||
{ // supprimer la ligne de la base
|
||||
PreparedStatement st = db.getConnection().prepareStatement("DELETE FROM "+tableName+" WHERE id="+id);
|
||||
PreparedStatement st = db.getNativeConnection().prepareStatement("DELETE FROM "+tableName+" WHERE id="+id);
|
||||
try {
|
||||
st.executeUpdate();
|
||||
saved = false;
|
||||
|
@@ -6,6 +6,8 @@ import java.sql.Statement;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import fr.pandacube.java.util.db2.sql_tools.DBConnection;
|
||||
|
||||
public abstract class SQLTable<T extends SQLElement> {
|
||||
|
||||
DBConnection db = ORM.connection;
|
||||
@@ -24,7 +26,7 @@ public abstract class SQLTable<T extends SQLElement> {
|
||||
|
||||
|
||||
private void createTable() throws SQLException {
|
||||
Statement stmt = db.getConnection().createStatement();
|
||||
Statement stmt = db.getNativeConnection().createStatement();
|
||||
String sql = "CREATE TABLE IF NOT EXISTS "+tableName+" " +
|
||||
"("+createTableParameters()+")";
|
||||
try {
|
||||
@@ -39,7 +41,7 @@ public abstract class SQLTable<T extends SQLElement> {
|
||||
ResultSet set = null;
|
||||
boolean exist = false;
|
||||
try {
|
||||
set = db.getConnection().getMetaData().getTables(null, null, tableName, null);
|
||||
set = db.getNativeConnection().getMetaData().getTables(null, null, tableName, null);
|
||||
exist = set.next();
|
||||
} finally {
|
||||
if (set != null)
|
||||
@@ -77,7 +79,7 @@ public abstract class SQLTable<T extends SQLElement> {
|
||||
|
||||
public T get(int id) throws SQLException {
|
||||
T elementInstance = null;
|
||||
Statement stmt = db.getConnection().createStatement();
|
||||
Statement stmt = db.getNativeConnection().createStatement();
|
||||
try {
|
||||
String sql = "SELECT * FROM "+tableName+" WHERE id = "+id+";";
|
||||
|
||||
@@ -109,7 +111,7 @@ public abstract class SQLTable<T extends SQLElement> {
|
||||
|
||||
|
||||
public List<T> getAll(String where, String orderBy, Integer limit, Integer offset) throws SQLException {
|
||||
Statement stmt = db.getConnection().createStatement();
|
||||
Statement stmt = db.getNativeConnection().createStatement();
|
||||
String sql = "SELECT * FROM "+tableName;
|
||||
|
||||
if (where != null)
|
||||
|
2
src/fr/pandacube/java/util/db/package-info.java
Normal file
2
src/fr/pandacube/java/util/db/package-info.java
Normal file
@@ -0,0 +1,2 @@
|
||||
@java.lang.Deprecated
|
||||
package fr.pandacube.java.util.db;
|
Reference in New Issue
Block a user