This commit is contained in:
@@ -19,21 +19,11 @@ import org.redkale.util.*;
|
||||
* @author zhangjx
|
||||
*/
|
||||
@AutoLoad(false)
|
||||
public class DataSourceService implements DataSource, Service, AutoCloseable {
|
||||
public class DataSourceService implements DataSource, Service, AutoCloseable {
|
||||
|
||||
@Resource(name = "$")
|
||||
private DataSource source;
|
||||
|
||||
@Override
|
||||
public DataConnection createReadConnection() {
|
||||
return source.createReadConnection();
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataConnection createWriteConnection() {
|
||||
return source.createWriteConnection();
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void insert(@DynCall(DataCallArrayAttribute.class) T... values) {
|
||||
source.insert(values);
|
||||
@@ -45,11 +35,6 @@ public class DataSourceService implements DataSource, Service, AutoCloseable {
|
||||
if (handler != null) handler.completed(null, values);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void insert(DataConnection conn, @DynCall(DataCallArrayAttribute.class) T... values) {
|
||||
source.insert(conn, values);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void delete(T... values) {
|
||||
source.delete(values);
|
||||
@@ -61,11 +46,6 @@ public class DataSourceService implements DataSource, Service, AutoCloseable {
|
||||
if (handler != null) handler.completed(null, values);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void delete(DataConnection conn, T... values) {
|
||||
source.delete(conn, values);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void delete(final Class<T> clazz, final Serializable... ids) {
|
||||
source.delete(clazz, ids);
|
||||
@@ -77,11 +57,6 @@ public class DataSourceService implements DataSource, Service, AutoCloseable {
|
||||
if (handler != null) handler.completed(null, ids);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void delete(DataConnection conn, Class<T> clazz, final Serializable... ids) {
|
||||
source.delete(conn, clazz, ids);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void delete(final Class<T> clazz, FilterNode node) {
|
||||
source.delete(clazz, node);
|
||||
@@ -93,11 +68,6 @@ public class DataSourceService implements DataSource, Service, AutoCloseable {
|
||||
if (handler != null) handler.completed(null, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void delete(DataConnection conn, Class<T> clazz, FilterNode node) {
|
||||
source.delete(conn, clazz, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void update(T... values) {
|
||||
source.update(values);
|
||||
@@ -109,11 +79,6 @@ public class DataSourceService implements DataSource, Service, AutoCloseable {
|
||||
if (handler != null) handler.completed(null, values);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void update(DataConnection conn, T... values) {
|
||||
source.update(conn, values);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void updateColumn(final Class<T> clazz, final Serializable id, final String column, final Serializable value) {
|
||||
source.updateColumn(clazz, id, column, value);
|
||||
@@ -125,11 +90,6 @@ public class DataSourceService implements DataSource, Service, AutoCloseable {
|
||||
if (handler != null) handler.completed(null, id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void updateColumn(DataConnection conn, Class<T> clazz, final Serializable id, final String column, final Serializable value) {
|
||||
source.updateColumn(conn, clazz, id, column, value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void updateColumnIncrement(final Class<T> clazz, final Serializable id, final String column, long incvalue) {
|
||||
source.updateColumnIncrement(clazz, id, column, incvalue);
|
||||
@@ -141,11 +101,6 @@ public class DataSourceService implements DataSource, Service, AutoCloseable {
|
||||
if (handler != null) handler.completed(null, id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void updateColumnIncrement(DataConnection conn, Class<T> clazz, final Serializable id, final String column, long incvalue) {
|
||||
source.updateColumnIncrement(conn, clazz, id, column, incvalue);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void updateColumnAnd(final Class<T> clazz, final Serializable id, final String column, long incvalue) {
|
||||
source.updateColumnAnd(clazz, id, column, incvalue);
|
||||
@@ -157,11 +112,6 @@ public class DataSourceService implements DataSource, Service, AutoCloseable {
|
||||
if (handler != null) handler.completed(null, id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void updateColumnAnd(DataConnection conn, Class<T> clazz, final Serializable id, final String column, long incvalue) {
|
||||
source.updateColumnAnd(conn, clazz, id, column, incvalue);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void updateColumnOr(final Class<T> clazz, final Serializable id, final String column, long incvalue) {
|
||||
source.updateColumnOr(clazz, id, column, incvalue);
|
||||
@@ -173,11 +123,6 @@ public class DataSourceService implements DataSource, Service, AutoCloseable {
|
||||
if (handler != null) handler.completed(null, id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void updateColumnOr(DataConnection conn, Class<T> clazz, final Serializable id, final String column, long incvalue) {
|
||||
source.updateColumnOr(conn, clazz, id, column, incvalue);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void updateColumns(T value, final String... columns) {
|
||||
source.updateColumns(value, columns);
|
||||
@@ -189,11 +134,6 @@ public class DataSourceService implements DataSource, Service, AutoCloseable {
|
||||
if (handler != null) handler.completed(null, value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void updateColumns(DataConnection conn, T value, final String... columns) {
|
||||
source.updateColumns(conn, value, columns);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Number getNumberResult(final Class entityClass, FilterFunc func, final String column) {
|
||||
return source.getNumberResult(entityClass, func, column);
|
||||
|
||||
@@ -1,56 +0,0 @@
|
||||
/*
|
||||
* To change this license header, choose License Headers in Project Properties.
|
||||
* To change this template file, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
package org.redkale.source;
|
||||
|
||||
import java.sql.*;
|
||||
|
||||
/**
|
||||
*
|
||||
* @see http://www.redkale.org
|
||||
* @author zhangjx
|
||||
*/
|
||||
public class DataConnection {
|
||||
|
||||
private final Connection conn;
|
||||
|
||||
protected DataConnection(Connection connection) {
|
||||
this.conn = connection;
|
||||
}
|
||||
|
||||
protected Connection getConnection() {
|
||||
return this.conn;
|
||||
}
|
||||
|
||||
public boolean close() {
|
||||
try {
|
||||
if (conn == null || conn.isClosed()) return true;
|
||||
conn.close();
|
||||
return true;
|
||||
} catch (Exception e) {
|
||||
//do nothing
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean commit() {
|
||||
try {
|
||||
conn.commit();
|
||||
return true;
|
||||
} catch (Exception e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean rollback() {
|
||||
try {
|
||||
conn.rollback();
|
||||
return true;
|
||||
} catch (Exception e) {
|
||||
//do nothing
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -226,16 +226,6 @@ public final class DataDefaultSource implements DataSource, Function<Class, Enti
|
||||
return name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataConnection createReadConnection() {
|
||||
return new DataConnection(createReadSQLConnection());
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataConnection createWriteConnection() {
|
||||
return new DataConnection(createWriteSQLConnection());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void close() throws Exception {
|
||||
readPool.close();
|
||||
@@ -272,10 +262,6 @@ public final class DataDefaultSource implements DataSource, Function<Class, Enti
|
||||
}
|
||||
}
|
||||
|
||||
public <T> void execute(final DataConnection conn, String... sqls) {
|
||||
execute((Connection) conn.getConnection(), sqls);
|
||||
}
|
||||
|
||||
private <T> void execute(final Connection conn, String... sqls) {
|
||||
if (sqls.length == 0) return;
|
||||
try {
|
||||
@@ -340,24 +326,9 @@ public final class DataDefaultSource implements DataSource, Function<Class, Enti
|
||||
if (handler != null) handler.completed(null, values);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增对象, 必须是Entity对象
|
||||
*
|
||||
* @param <T>
|
||||
* @param conn
|
||||
* @param values
|
||||
*/
|
||||
@Override
|
||||
public <T> void insert(final DataConnection conn, T... values) {
|
||||
if (values.length == 0) return;
|
||||
final EntityInfo<T> info = loadEntityInfo((Class<T>) values[0].getClass());
|
||||
insert((Connection) conn.getConnection(), info, values);
|
||||
}
|
||||
|
||||
private <T> void insert(final Connection conn, final EntityInfo<T> info, T... values) {
|
||||
if (values.length == 0) return;
|
||||
try {
|
||||
final EntityCache<T> cache = info.getCache();
|
||||
if (!info.isVirtualEntity()) {
|
||||
final String sql = info.insertSQL;
|
||||
final PreparedStatement prestmt = info.autoGenerated
|
||||
@@ -481,6 +452,7 @@ public final class DataDefaultSource implements DataSource, Function<Class, Enti
|
||||
}
|
||||
}
|
||||
}
|
||||
final EntityCache<T> cache = info.getCache();
|
||||
if (cache != null) {
|
||||
for (final T value : values) {
|
||||
cache.insert(value);
|
||||
@@ -531,13 +503,6 @@ public final class DataDefaultSource implements DataSource, Function<Class, Enti
|
||||
if (handler != null) handler.completed(null, values);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void delete(final DataConnection conn, T... values) {
|
||||
if (values.length == 0) return;
|
||||
final EntityInfo<T> info = loadEntityInfo((Class<T>) values[0].getClass());
|
||||
delete((Connection) conn.getConnection(), info, values);
|
||||
}
|
||||
|
||||
private <T> void delete(final Connection conn, final EntityInfo<T> info, T... values) {
|
||||
if (values.length == 0) return;
|
||||
final Attribute primary = info.getPrimary();
|
||||
@@ -570,11 +535,6 @@ public final class DataDefaultSource implements DataSource, Function<Class, Enti
|
||||
if (handler != null) handler.completed(null, ids);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void delete(final DataConnection conn, Class<T> clazz, Serializable... ids) {
|
||||
delete((Connection) conn.getConnection(), loadEntityInfo(clazz), ids);
|
||||
}
|
||||
|
||||
private <T> void delete(final Connection conn, final EntityInfo<T> info, Serializable... keys) {
|
||||
if (keys.length == 0) return;
|
||||
try {
|
||||
@@ -619,11 +579,6 @@ public final class DataDefaultSource implements DataSource, Function<Class, Enti
|
||||
if (handler != null) handler.completed(null, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void delete(final DataConnection conn, Class<T> clazz, FilterNode node) {
|
||||
delete((Connection) conn.getConnection(), loadEntityInfo(clazz), node);
|
||||
}
|
||||
|
||||
private <T> void delete(final Connection conn, final EntityInfo<T> info, final FilterNode node) {
|
||||
try {
|
||||
if (!info.isVirtualEntity()) {
|
||||
@@ -686,13 +641,6 @@ public final class DataDefaultSource implements DataSource, Function<Class, Enti
|
||||
if (handler != null) handler.completed(null, values);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void update(final DataConnection conn, T... values) {
|
||||
if (values.length == 0) return;
|
||||
final EntityInfo<T> info = loadEntityInfo((Class<T>) values[0].getClass());
|
||||
update((Connection) conn.getConnection(), info, values);
|
||||
}
|
||||
|
||||
private <T> void update(final Connection conn, final EntityInfo<T> info, T... values) {
|
||||
try {
|
||||
Class clazz = info.getType();
|
||||
@@ -784,11 +732,6 @@ public final class DataDefaultSource implements DataSource, Function<Class, Enti
|
||||
if (handler != null) handler.completed(null, id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void updateColumn(DataConnection conn, Class<T> clazz, Serializable id, String column, Serializable value) {
|
||||
updateColumn((Connection) conn.getConnection(), loadEntityInfo(clazz), id, column, value);
|
||||
}
|
||||
|
||||
private <T> void updateColumn(Connection conn, final EntityInfo<T> info, Serializable id, String column, Serializable value) {
|
||||
try {
|
||||
if (!info.isVirtualEntity()) {
|
||||
@@ -842,11 +785,6 @@ public final class DataDefaultSource implements DataSource, Function<Class, Enti
|
||||
if (handler != null) handler.completed(null, id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void updateColumnIncrement(DataConnection conn, Class<T> clazz, Serializable id, String column, long incvalue) {
|
||||
updateColumnIncrement((Connection) conn.getConnection(), loadEntityInfo(clazz), id, column, incvalue);
|
||||
}
|
||||
|
||||
private <T> void updateColumnIncrement(Connection conn, final EntityInfo<T> info, Serializable id, String column, long incvalue) {
|
||||
try {
|
||||
if (!info.isVirtualEntity()) {
|
||||
@@ -902,11 +840,6 @@ public final class DataDefaultSource implements DataSource, Function<Class, Enti
|
||||
if (handler != null) handler.completed(null, id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void updateColumnAnd(DataConnection conn, Class<T> clazz, Serializable id, String column, long andvalue) {
|
||||
updateColumnAnd((Connection) conn.getConnection(), loadEntityInfo(clazz), id, column, andvalue);
|
||||
}
|
||||
|
||||
private <T> void updateColumnAnd(Connection conn, final EntityInfo<T> info, Serializable id, String column, long andvalue) {
|
||||
try {
|
||||
if (!info.isVirtualEntity()) {
|
||||
@@ -962,11 +895,6 @@ public final class DataDefaultSource implements DataSource, Function<Class, Enti
|
||||
if (handler != null) handler.completed(null, id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void updateColumnOr(DataConnection conn, Class<T> clazz, Serializable id, String column, long orvalue) {
|
||||
updateColumnOr((Connection) conn.getConnection(), loadEntityInfo(clazz), id, column, orvalue);
|
||||
}
|
||||
|
||||
private <T> void updateColumnOr(Connection conn, final EntityInfo<T> info, Serializable id, String column, long orvalue) {
|
||||
try {
|
||||
if (!info.isVirtualEntity()) {
|
||||
@@ -1020,11 +948,6 @@ public final class DataDefaultSource implements DataSource, Function<Class, Enti
|
||||
if (handler != null) handler.completed(null, value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void updateColumns(final DataConnection conn, final T value, final String... columns) {
|
||||
updateColumns((Connection) conn.getConnection(), loadEntityInfo((Class<T>) value.getClass()), value, columns);
|
||||
}
|
||||
|
||||
private <T> void updateColumns(final Connection conn, final EntityInfo<T> info, final T value, final String... columns) {
|
||||
if (value == null || columns.length < 1) return;
|
||||
try {
|
||||
|
||||
@@ -18,20 +18,6 @@ import org.redkale.util.*;
|
||||
@SuppressWarnings("unchecked")
|
||||
public interface DataSource {
|
||||
|
||||
/**
|
||||
* 创建读连接
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public DataConnection createReadConnection();
|
||||
|
||||
/**
|
||||
* 创建写连接
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public DataConnection createWriteConnection();
|
||||
|
||||
//----------------------insert-----------------------------
|
||||
/**
|
||||
* 新增对象, 必须是Entity对象
|
||||
@@ -41,8 +27,6 @@ public interface DataSource {
|
||||
*/
|
||||
public <T> void insert(final T... values);
|
||||
|
||||
public <T> void insert(final DataConnection conn, final T... values);
|
||||
|
||||
//----------------------异步版---------------------------------
|
||||
public <T> void insert(final CompletionHandler<Void, T[]> handler, final T... values);
|
||||
|
||||
@@ -55,16 +39,10 @@ public interface DataSource {
|
||||
*/
|
||||
public <T> void delete(final T... values);
|
||||
|
||||
public <T> void delete(final DataConnection conn, final T... values);
|
||||
|
||||
public <T> void delete(final Class<T> clazz, final Serializable... ids);
|
||||
|
||||
public <T> void delete(final DataConnection conn, final Class<T> clazz, final Serializable... ids);
|
||||
|
||||
public <T> void delete(final Class<T> clazz, final FilterNode node);
|
||||
|
||||
public <T> void delete(final DataConnection conn, final Class<T> clazz, final FilterNode node);
|
||||
|
||||
//----------------------异步版---------------------------------
|
||||
public <T> void delete(final CompletionHandler<Void, T[]> handler, final T... values);
|
||||
|
||||
@@ -81,28 +59,16 @@ public interface DataSource {
|
||||
*/
|
||||
public <T> void update(final T... values);
|
||||
|
||||
public <T> void update(final DataConnection conn, final T... values);
|
||||
|
||||
public <T> void updateColumn(final Class<T> clazz, final Serializable id, final String column, final Serializable value);
|
||||
|
||||
public <T> void updateColumn(final DataConnection conn, final Class<T> clazz, final Serializable id, final String column, final Serializable value);
|
||||
|
||||
public <T> void updateColumnIncrement(final Class<T> clazz, final Serializable id, final String column, long incvalue);
|
||||
|
||||
public <T> void updateColumnIncrement(final DataConnection conn, final Class<T> clazz, final Serializable id, final String column, long incvalue);
|
||||
|
||||
public <T> void updateColumnAnd(final Class<T> clazz, final Serializable id, final String column, long incvalue);
|
||||
|
||||
public <T> void updateColumnAnd(final DataConnection conn, final Class<T> clazz, final Serializable id, final String column, long incvalue);
|
||||
|
||||
public <T> void updateColumnOr(final Class<T> clazz, final Serializable id, final String column, long incvalue);
|
||||
|
||||
public <T> void updateColumnOr(final DataConnection conn, final Class<T> clazz, final Serializable id, final String column, long incvalue);
|
||||
|
||||
public <T> void updateColumns(final T value, final String... columns);
|
||||
|
||||
public <T> void updateColumns(final DataConnection conn, final T value, final String... columns);
|
||||
|
||||
//----------------------异步版---------------------------------
|
||||
public <T> void update(final CompletionHandler<Void, T[]> handler, final T... values);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user