Package dev.king.universal.wrapper.mysql
Class MysqlProvider
java.lang.Object
dev.king.universal.wrapper.mysql.PoolableConnection
dev.king.universal.wrapper.mysql.MysqlProvider
- All Implemented Interfaces:
JdbcProvider,PoolableProvider
public final class MysqlProvider extends PoolableConnection implements JdbcProvider
-
Constructor Summary
Constructors Constructor Description MysqlProvider(@NonNull UniversalCredential credential, int maxConnections) -
Method Summary
Modifier and Type Method Description <T> int[]batch(@NonNull java.lang.String query, SafetyBiConsumer<T,ComputedBatchQuery> batchFunction, java.util.Collection<T> collection)Execute massive updatevoidcloseConnection()Close the all connections of jdbcstatic JdbcProviderfrom(@NonNull UniversalCredential universalCredential)static JdbcProviderfrom(@NonNull UniversalCredential universalCredential, int maxConnections)Creates provider to mysqlbooleanhasConnection()Verify if the connections is valid<K> java.util.List<K>map(@NonNull java.lang.String query, @NonNull SafetyFunction<java.sql.ResultSet,K> function, java.lang.Object... objects)Uses just in select querybooleanopenConnection()Connect to mysql serverJdbcProviderpreOpen()Used to pre configure instance settings<K> Kquery(@NonNull java.lang.String query, @NonNull SafetyFunction<java.sql.ResultSet,K> function, java.lang.Object... objects)Uses just in select queryvoidupdate(@NonNull java.lang.String query, java.lang.Object... objects)Uses just in create, delete, insert and update queries
-
Constructor Details
-
Method Details
-
from
public static JdbcProvider from(@NonNull @NonNull UniversalCredential universalCredential, int maxConnections)Creates provider to mysql- Parameters:
universalCredential- login credentials fromUniversalCredentialmaxConnections- number of max connections (idle connections are divided by 2)- Returns:
- instance of mysql provider
-
from
-
closeConnection
public void closeConnection()Description copied from interface:JdbcProviderClose the all connections of jdbc- Specified by:
closeConnectionin interfaceJdbcProvider
-
hasConnection
public boolean hasConnection()Description copied from interface:JdbcProviderVerify if the connections is valid- Specified by:
hasConnectionin interfaceJdbcProvider- Returns:
- if an any valid connection
-
openConnection
public boolean openConnection()Description copied from interface:JdbcProviderConnect to mysql server- Specified by:
openConnectionin interfaceJdbcProvider- Returns:
- if has a valid connection
-
preOpen
Description copied from interface:JdbcProviderUsed to pre configure instance settings- Specified by:
preOpenin interfaceJdbcProvider- Returns:
- instance of current
JdbcProvider
-
query
public <K> K query(@NonNull @NonNull java.lang.String query, @NonNull @NonNull SafetyFunction<java.sql.ResultSet,K> function, java.lang.Object... objects)Description copied from interface:JdbcProviderUses just in select query- Specified by:
queryin interfaceJdbcProvider- Type Parameters:
K- the generic type, used to return your prefer value- Parameters:
query- the query of mysqlfunction- if has a valid entry, functional interfaceSafetyFunctionwill be called and returns a resultobjects- the objects that will be put in the prepared statement- Returns:
- returns a optional value, applied in function parameter
-
map
public <K> java.util.List<K> map(@NonNull @NonNull java.lang.String query, @NonNull @NonNull SafetyFunction<java.sql.ResultSet,K> function, java.lang.Object... objects)Description copied from interface:JdbcProviderUses just in select query- Specified by:
mapin interfaceJdbcProvider- Type Parameters:
K- the generic type, used to return your prefer value- Parameters:
query- the query of mysqlfunction- if has a valid entry, functional interfaceSafetyFunctionwill be called and returns a resultobjects- the objects that will be put in the prepared statement- Returns:
- returns a optional value, applied in function parameter
-
update
public void update(@NonNull @NonNull java.lang.String query, java.lang.Object... objects)Description copied from interface:JdbcProviderUses just in create, delete, insert and update queries- Specified by:
updatein interfaceJdbcProvider- Parameters:
query- the query of mysqlobjects- the objects that will be putted in the prepared statement
-
batch
public <T> int[] batch(@NonNull @NonNull java.lang.String query, SafetyBiConsumer<T,ComputedBatchQuery> batchFunction, java.util.Collection<T> collection)Description copied from interface:JdbcProviderExecute massive update- Specified by:
batchin interfaceJdbcProvider- Type Parameters:
T- type of objects- Parameters:
query- the query of mysqlbatchFunction- to compute values from collectioncollection- entry of computable objects- Returns:
- result of batch
-