cubetiq-sql-core/src/main/java/com/cubetiqs/sql/JdbcDataFactory.java
2023-03-27 09:40:40 +07:00

145 lines
4.6 KiB
Java

package com.cubetiqs.sql;
import com.cubetiqs.sql.mapper.MapperProvider;
import com.cubetiqs.sql.mapper.RowMapperProvider;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;
public final class JdbcDataFactory {
private final JdbcDataQuery queryManager;
public JdbcDataFactory(JdbcDataQuery queryManager) {
this.queryManager = queryManager;
}
public static JdbcDataFactory create(JdbcDataQuery queryManager) {
return new JdbcDataFactory(queryManager);
}
public IExecuteResult<List<Object>> queryForList(String sql) {
return queryManager.queryForList(sql);
}
public IExecuteResult<List<Object>> queryForList(String sql, Object... args) {
return queryManager.queryForList(sql, args);
}
public <R> IExecuteResult<List<R>> queryForList(String sql, RowMapperProvider<R> mapper) {
return queryManager.queryForList(sql, mapper);
}
public <R> IExecuteResult<List<R>> queryForList(String sql, RowMapperProvider<R> mapper, Object... args) {
return queryManager.queryForList(sql, mapper, args);
}
public IExecuteResult<Object> queryForObject(String sql) {
return queryManager.queryForObject(sql);
}
public IExecuteResult<Object> queryForObject(String sql, Object... args) {
return queryManager.queryForObject(sql, args);
}
public <R> IExecuteResult<R> query(MapperProvider<Map<String, Object>, R> mapper, String sql, Class<R> clazz) {
return queryManager.query(mapper, sql, clazz);
}
public <R> IExecuteResult<R> query(MapperProvider<Map<String, Object>, R> mapper, String sql, Class<R> clazz, Object... args) {
return queryManager.query(mapper, sql, clazz, args);
}
public <R> IExecuteResult<R> query(String sql, RowMapperProvider<R> mapper) {
return queryManager.query(sql, mapper);
}
public <R> IExecuteResult<R> query(String sql, RowMapperProvider<R> mapper, Object... args) {
return queryManager.query(sql, mapper, args);
}
public IExecuteResult<List<Object>> queryForList(ISqlMapParameter parameter) {
return queryManager.queryForList(parameter);
}
public <R> IExecuteResult<List<R>> queryForList(ISqlMapParameter parameter, RowMapperProvider<R> mapper) {
return queryManager.queryForList(parameter, mapper);
}
public IExecuteResult<Object> queryForObject(ISqlMapParameter parameter) {
return queryManager.queryForObject(parameter);
}
public <R> IExecuteResult<R> query(MapperProvider<Map<String, Object>, R> mapper, ISqlMapParameter parameter, Class<R> clazz) {
return queryManager.query(mapper, parameter, clazz);
}
public <R> IExecuteResult<R> query(ISqlMapParameter parameter, RowMapperProvider<R> mapper) {
return queryManager.query(parameter, mapper);
}
public IExecuteResultWithCount<List<Object>> queryOf(String sql) {
return queryManager.queryOf(sql);
}
public IExecuteResultWithCount<List<Object>> queryOf(String sql, Object... args) {
return queryManager.queryOf(sql, args);
}
public <R> IExecuteResultWithCount<List<R>> queryOf(String sql, RowMapperProvider<R> mapper) {
return queryManager.queryOf(sql, mapper);
}
public <R> IExecuteResultWithCount<List<R>> queryOf(String sql, RowMapperProvider<R> mapper, Object... args) {
return queryManager.queryOf(sql, mapper, args);
}
public IExecuteResultWithCount<List<Object>> queryOf(ISqlMapParameter parameter) {
return queryManager.queryOf(parameter);
}
public <R> IExecuteResultWithCount<List<R>> queryOf(ISqlMapParameter parameter, RowMapperProvider<R> mapper) {
return queryManager.queryOf(parameter, mapper);
}
public long count(String sql) {
return queryManager.count(sql);
}
public long count(String sql, Object... args) {
return queryManager.count(sql, args);
}
public long count(ISqlMapParameter parameter) {
return queryManager.count(parameter);
}
public boolean isConnected() {
try {
return !getManager().getConnection().isClosed();
} catch (SQLException e) {
return false;
}
}
public JdbcDataQuery getDataQuery() {
return queryManager;
}
public IDataManager getManager() {
return queryManager.getManager();
}
public void close() throws SQLException {
getManager().getConnection().close();
}
public void tryClose() {
try {
close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}