6.9 KiB
6.9 KiB
MySQL Toolkit
About The Project
This is a small project for quickly managing a MySQL database in Java. It makes everyday life with a database much easier.
Installation
- Add the jitpack repository to your
pom.xml
<repositories> <repository> <id>jitpack.io</id> <url>https://jitpack.io</url> </repository> </repositories>
- Add the dependency to your
pom.xml
<dependency> <groupId>com.github.gnmyt</groupId> <artifactId>sqltoolkit</artifactId> <version>master-SNAPSHOT</version> </dependency>
Usage Examples
- Create a connection
- Example of a constructor without optional specifications
MySQLConnection connection = new MySQLConnection(hostname, username, password, database).connect();
- Example of a constructor with optional login parameters
MySQLConnection connection = new MySQLConnection(hostname, username, password, database, LoginParam.AUTO_RECONNECT, LoginParam.NO_SSL).connect();
Login Parameters
- DEFAULT (useSSL=false&autoReconnect=true&useUnicode=yes&characterEncoding=UTF-8&useTimezone=true&serverTimezone=UTC)
- NO_SSL (useSSL=false)
- USE_SSL (useSSL=true)
- AUTO_RECONNECT (autoReconnect=true)
- UTF8_ENCODING (characterEncoding=UTF-8)
- USE_UNICODE (useUnicode=yes)
- USE_TIMEZONE (useTimezone=true)
- TIMEZONE_UTC (serverTimezone=UTC)
- Perform a default SQL query
- Get a ResultSet
connection.getResultSet("SELECT * FROM example WHERE test = ?", "test1");
- Perform an update
connection.update("UPDATE example SET test = ? WHERE abc = ?", "test1", "test2");
- Get a ResultSet
- Get something from a table with managers
- Getting a string from the table
String value = connection.getResult("query", "parameters") .getString("column");
- Getting a list from the table
orArrayList<String> list = connection.getResult("query", "parameters") .getList("column");
ArrayList<HashMap<String, Object>> list = connection.getResult("query", "parameters") .getList();
- Choosing Results
connection .selectFrom("table") .where("column", "value") .limit(10) .getResult();
- Choosing Results with custom parameters
connection.select() .from("table") .where("column", "value") .add("LIMIT 2,5") .getResult();
- Getting a string from the table
- Perform an update using managers
- Update a Table
connection .updateTo("table") .where("column", "value") .set("column", "newValue") .execute();
- Generate a Table
connection .generateTable("table") .addField(SQLType.STRING, "column", 999) .addField(SQLType.STRING, "column2", 25) .create();
- Delete something from a table
connection .deleteFrom("table") .where("column", "value") .execute();
- Update a Table
- The use of the table factory
- Create a new table class
import de.gnmyt.SQLToolkit.drivers.MySQLConnection; import de.gnmyt.SQLToolkit.storage.SQLTable; public class ExampleTable extends SQLTable { public ExampleTable(MySQLConnection connection) { super(connection); } @Override protected String tableName() { return "example"; } @Override protected void tableFields() { string("column1", 255, "default"); string("colum2", 100, "test2"); integer("colum3", 2, ""); } public void addSomething() { insert() .value("column1", "test") .value("colum3", 52) .execute(); } public void deleteUser() { delete() .where("column1", "test") .execute(); } }
- Register your table
connection.getTableFactory().register(new ExampleTable(connection));
- Now you can access your table from everywhere
((ExampleTable) connection.getTableFactory().getTable(ExampleTable.class)) .addSomething();
- The use of the table factory with storage mediums
- Create a new storage medium class
import de.gnmyt.SQLToolkit.drivers.MySQLConnection; import de.gnmyt.SQLToolkit.storage.SQLStorageMedium; public class ExampleStorage extends SQLStorageMedium { public ExampleStorage(MySQLConnection connection) { super(connection); } @Override protected String tableName() { return "example_storage"; } }
- Register your storage
connection.getTableFactory().register(new ExampleStorage(connection));
- Now you can access your storage medium from everywhere. Try something like that:
SQLStorageMedium storage = connection.getTableFactory().getStorage(ExampleStorage.class); storage.insert("username", "test"); String username = storage.get("username"); storage.delete("username"); storage.insertOrUpdate("version", "1.0.0"); storage.getEntries();
License
Distributed under the MIT License. See LICENSE
for more information.
End
Currently there are not many features yet, so feel free to write me some suggestions!