Merge pull request #41 from font-C/main

fixed:  Db+Row supports Schema。
This commit is contained in:
Michael Yang 2023-06-05 18:18:41 +08:00 committed by GitHub
commit 6bb3a4d360
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 664 additions and 175 deletions

View File

@ -26,6 +26,7 @@ public class FlexConsts {
public static final String SQL = "$$sql"; public static final String SQL = "$$sql";
public static final String SQL_ARGS = "$$sql_args"; public static final String SQL_ARGS = "$$sql_args";
public static final String SCHEMA_NAME = "$$schemaName";
public static final String TABLE_NAME = "$$tableName"; public static final String TABLE_NAME = "$$tableName";
public static final String FIELD_NAME = "$$fieldName"; public static final String FIELD_NAME = "$$fieldName";
public static final String PRIMARY_KEY = "$$primaryKey"; public static final String PRIMARY_KEY = "$$primaryKey";

View File

@ -36,9 +36,9 @@ public interface IDialect {
String forHint(String hintString); String forHint(String hintString);
String forInsertRow(String tableName, Row row); String forInsertRow(String schema,String tableName, Row row);
String forInsertBatchWithFirstRowColumns(String tableName, List<Row> rows); String forInsertBatchWithFirstRowColumns(String schema, String tableName, List<Row> rows);
String forDeleteById(String schema, String tableName, String[] primaryKeys); String forDeleteById(String schema, String tableName, String[] primaryKeys);
@ -46,13 +46,13 @@ public interface IDialect {
String forDeleteByQuery(QueryWrapper queryWrapper); String forDeleteByQuery(QueryWrapper queryWrapper);
String forUpdateById(String tableName, Row row); String forUpdateById(String schema, String tableName, Row row);
String forUpdateByQuery(QueryWrapper queryWrapper, Row data); String forUpdateByQuery(QueryWrapper queryWrapper, Row data);
String forUpdateBatchById(String tableName, List<Row> rows); String forUpdateBatchById(String schema, String tableName, List<Row> rows);
String forSelectOneById(String tableName, String[] primaryKeys, Object[] primaryValues); String forSelectOneById(String schema, String tableName, String[] primaryKeys, Object[] primaryValues);
String forSelectByQuery(QueryWrapper queryWrapper); String forSelectByQuery(QueryWrapper queryWrapper);

View File

@ -66,7 +66,7 @@ public class CommonsDialectImpl implements IDialect {
} }
@Override @Override
public String forInsertRow(String tableName, Row row) { public String forInsertRow(String schema, String tableName, Row row) {
StringBuilder fields = new StringBuilder(); StringBuilder fields = new StringBuilder();
StringBuilder questions = new StringBuilder(); StringBuilder questions = new StringBuilder();
@ -81,16 +81,20 @@ public class CommonsDialectImpl implements IDialect {
} }
index++; index++;
} }
StringBuilder sql = new StringBuilder();
String sql = "INSERT INTO " + wrap(getRealTable(tableName)) + sql.append("INSERT INTO ");
"(" + fields + ") VALUES " + if (StringUtil.isNotBlank(schema)) {
"(" + questions + ")"; sql.append(wrap(getRealSchema(schema))).append(".");
return sql; }
sql.append(wrap(getRealTable(tableName)));
sql.append("(").append(fields).append(") ");
sql.append(" VALUES ").append("(").append(questions).append(")");
return sql.toString();
} }
@Override @Override
public String forInsertBatchWithFirstRowColumns(String tableName, List<Row> rows) { public String forInsertBatchWithFirstRowColumns(String schema, String tableName, List<Row> rows) {
StringBuilder fields = new StringBuilder(); StringBuilder fields = new StringBuilder();
StringBuilder questions = new StringBuilder(); StringBuilder questions = new StringBuilder();
@ -112,9 +116,16 @@ public class CommonsDialectImpl implements IDialect {
} }
} }
String sql = "INSERT INTO " + wrap(getRealTable(tableName)) +
"(" + fields + ") VALUES " + questions; StringBuilder sql = new StringBuilder();
return sql; sql.append("INSERT INTO ");
if (StringUtil.isNotBlank(schema)) {
sql.append(wrap(getRealSchema(schema))).append(".");
}
sql.append(wrap(getRealTable(tableName)));
sql.append(" (").append(fields).append(") ");
sql.append(" VALUES ").append(questions);
return sql.toString();
} }
@ -181,13 +192,17 @@ public class CommonsDialectImpl implements IDialect {
} }
@Override @Override
public String forUpdateById(String tableName, Row row) { public String forUpdateById(String schema,String tableName, Row row) {
StringBuilder sql = new StringBuilder(); StringBuilder sql = new StringBuilder();
Set<String> modifyAttrs = row.obtainModifyAttrs(); Set<String> modifyAttrs = row.obtainModifyAttrs();
String[] primaryKeys = RowCPI.obtainsPrimaryKeyStrings(row); String[] primaryKeys = RowCPI.obtainsPrimaryKeyStrings(row);
sql.append("UPDATE ").append(wrap(getRealTable(tableName))).append(" SET "); sql.append("UPDATE ");
if (StringUtil.isNotBlank(schema)) {
sql.append(wrap(getRealSchema(schema))).append(".");
}
sql.append(wrap(getRealTable(tableName))).append(" SET ");
int index = 0; int index = 0;
for (Map.Entry<String, Object> e : row.entrySet()) { for (Map.Entry<String, Object> e : row.entrySet()) {
String colName = e.getKey(); String colName = e.getKey();
@ -221,8 +236,10 @@ public class CommonsDialectImpl implements IDialect {
throw FlexExceptions.wrap("update sql must need 1 table."); throw FlexExceptions.wrap("update sql must need 1 table.");
} }
String tableName = queryTables.get(0).getName(); //fix: support schema
sql.append("UPDATE ").append(wrap(getRealTable(tableName))).append(" SET "); QueryTable queryTable = queryTables.get(0);
// String tableName = queryTables.get(0).getName();
sql.append("UPDATE ").append(queryTable.toSql(this)).append(" SET ");
int index = 0; int index = 0;
for (String modifyAttr : modifyAttrs) { for (String modifyAttr : modifyAttrs) {
if (index > 0) { if (index > 0) {
@ -241,21 +258,24 @@ public class CommonsDialectImpl implements IDialect {
} }
@Override @Override
public String forUpdateBatchById(String tableName, List<Row> rows) { public String forUpdateBatchById(String schema,String tableName, List<Row> rows) {
if (rows.size() == 1) { if (rows.size() == 1) {
return forUpdateById(tableName, rows.get(0)); return forUpdateById(schema, tableName, rows.get(0));
} }
StringBuilder sql = new StringBuilder(); StringBuilder sql = new StringBuilder();
for (Row row : rows) { for (Row row : rows) {
sql.append(forUpdateById(tableName, row)).append("; "); sql.append(forUpdateById(schema, tableName, row)).append("; ");
} }
return sql.toString(); return sql.toString();
} }
@Override @Override
public String forSelectOneById(String tableName, String[] primaryKeys, Object[] primaryValues) { public String forSelectOneById(String schema, String tableName, String[] primaryKeys, Object[] primaryValues) {
StringBuilder sql = new StringBuilder("SELECT * FROM "); StringBuilder sql = new StringBuilder("SELECT * FROM ");
if (StringUtil.isNotBlank(schema)) {
sql.append(wrap(getRealSchema(schema))).append(".");
}
sql.append(wrap(getRealTable(tableName))).append(" WHERE "); sql.append(wrap(getRealTable(tableName))).append(" WHERE ");
for (int i = 0; i < primaryKeys.length; i++) { for (int i = 0; i < primaryKeys.length; i++) {
if (i > 0) { if (i > 0) {

View File

@ -40,6 +40,10 @@ class ProviderUtil {
params.put(FlexConsts.SQL_ARGS, args); params.put(FlexConsts.SQL_ARGS, args);
} }
public static String getSchemaName(Map params) {
Object schemaNameObj = params.get(FlexConsts.SCHEMA_NAME);
return schemaNameObj != null ? schemaNameObj.toString().trim() : null;
}
public static String getTableName(Map params) { public static String getTableName(Map params) {
Object tableNameObj = params.get(FlexConsts.TABLE_NAME); Object tableNameObj = params.get(FlexConsts.TABLE_NAME);
return tableNameObj != null ? tableNameObj.toString().trim() : null; return tableNameObj != null ? tableNameObj.toString().trim() : null;

View File

@ -59,13 +59,14 @@ public class RowSqlProvider {
* *
* @param params * @param params
* @return sql * @return sql
* @see RowMapper#insert(String, Row) * @see RowMapper#insert(String,String, Row)
*/ */
public static String insert(Map params) { public static String insert(Map params) {
String tableName = ProviderUtil.getTableName(params); String tableName = ProviderUtil.getTableName(params);
String schema = ProviderUtil.getSchemaName(params);
Row row = ProviderUtil.getRow(params); Row row = ProviderUtil.getRow(params);
ProviderUtil.setSqlArgs(params, RowCPI.obtainModifyValues(row)); ProviderUtil.setSqlArgs(params, RowCPI.obtainModifyValues(row));
return DialectFactory.getDialect().forInsertRow(tableName, row); return DialectFactory.getDialect().forInsertRow(schema,tableName, row);
} }
/** /**
@ -73,10 +74,11 @@ public class RowSqlProvider {
* *
* @param params * @param params
* @return sql * @return sql
* @see RowMapper#insertBatchWithFirstRowColumns(String, List) * @see RowMapper#insertBatchWithFirstRowColumns(String, String, List)
*/ */
public static String insertBatchWithFirstRowColumns(Map params) { public static String insertBatchWithFirstRowColumns(Map params) {
String tableName = ProviderUtil.getTableName(params); String tableName = ProviderUtil.getTableName(params);
String schema = ProviderUtil.getSchemaName(params);
List<Row> rows = ProviderUtil.getRows(params); List<Row> rows = ProviderUtil.getRows(params);
if (rows == null || rows.isEmpty()) { if (rows == null || rows.isEmpty()) {
throw FlexExceptions.wrap("rows can not be null or empty."); throw FlexExceptions.wrap("rows can not be null or empty.");
@ -95,7 +97,7 @@ public class RowSqlProvider {
ProviderUtil.setSqlArgs(params, values); ProviderUtil.setSqlArgs(params, values);
//sql: INSERT INTO `tb_table`(`name`, `sex`) VALUES (?, ?),(?, ?),(?, ?) //sql: INSERT INTO `tb_table`(`name`, `sex`) VALUES (?, ?),(?, ?),(?, ?)
return DialectFactory.getDialect().forInsertBatchWithFirstRowColumns(tableName, rows); return DialectFactory.getDialect().forInsertBatchWithFirstRowColumns(schema,tableName, rows);
} }
/** /**
@ -103,9 +105,10 @@ public class RowSqlProvider {
* *
* @param params * @param params
* @return sql * @return sql
* @see RowMapper#deleteById(String, String, Object) * @see RowMapper#deleteById(String,String, String, Object)
*/ */
public static String deleteById(Map params) { public static String deleteById(Map params) {
String schema = ProviderUtil.getSchemaName(params);
String tableName = ProviderUtil.getTableName(params); String tableName = ProviderUtil.getTableName(params);
String[] primaryKeys = ProviderUtil.getPrimaryKeys(params); String[] primaryKeys = ProviderUtil.getPrimaryKeys(params);
Object[] primaryValues = ProviderUtil.getPrimaryValues(params); Object[] primaryValues = ProviderUtil.getPrimaryValues(params);
@ -116,7 +119,7 @@ public class RowSqlProvider {
ProviderUtil.setSqlArgs(params, primaryValues); ProviderUtil.setSqlArgs(params, primaryValues);
} }
return DialectFactory.getDialect().forDeleteById(null, tableName, primaryKeys); return DialectFactory.getDialect().forDeleteById(schema, tableName, primaryKeys);
} }
/** /**
@ -124,15 +127,16 @@ public class RowSqlProvider {
* *
* @param params * @param params
* @return sql * @return sql
* @see RowMapper#deleteBatchByIds(String, String, Collection) * @see RowMapper#deleteBatchByIds(String, String, String, Collection)
*/ */
public static String deleteBatchByIds(Map params) { public static String deleteBatchByIds(Map params) {
String schema = ProviderUtil.getSchemaName(params);
String tableName = ProviderUtil.getTableName(params); String tableName = ProviderUtil.getTableName(params);
String[] primaryKeys = ProviderUtil.getPrimaryKeys(params); String[] primaryKeys = ProviderUtil.getPrimaryKeys(params);
Object[] primaryValues = ProviderUtil.getPrimaryValues(params); Object[] primaryValues = ProviderUtil.getPrimaryValues(params);
ProviderUtil.setSqlArgs(params, primaryValues); ProviderUtil.setSqlArgs(params, primaryValues);
return DialectFactory.getDialect().forDeleteBatchByIds(null, tableName, primaryKeys, primaryValues); return DialectFactory.getDialect().forDeleteBatchByIds(schema, tableName, primaryKeys, primaryValues);
} }
@ -141,12 +145,13 @@ public class RowSqlProvider {
* *
* @param params * @param params
* @return sql * @return sql
* @see RowMapper#deleteByQuery(String, QueryWrapper) * @see RowMapper#deleteByQuery(String,String, QueryWrapper)
*/ */
public static String deleteByQuery(Map params) { public static String deleteByQuery(Map params) {
String schema = ProviderUtil.getSchemaName(params);
String tableName = ProviderUtil.getTableName(params); String tableName = ProviderUtil.getTableName(params);
QueryWrapper queryWrapper = ProviderUtil.getQueryWrapper(params); QueryWrapper queryWrapper = ProviderUtil.getQueryWrapper(params);
CPI.setFromIfNecessary(queryWrapper, tableName); CPI.setFromIfNecessary(queryWrapper, schema,tableName);
Object[] valueArray = CPI.getValueArray(queryWrapper); Object[] valueArray = CPI.getValueArray(queryWrapper);
ProviderUtil.setSqlArgs(params, valueArray); ProviderUtil.setSqlArgs(params, valueArray);
@ -159,13 +164,14 @@ public class RowSqlProvider {
* *
* @param params * @param params
* @return sql * @return sql
* @see RowMapper#updateById(String, Row) * @see RowMapper#updateById(String, String, Row)
*/ */
public static String updateById(Map params) { public static String updateById(Map params) {
String schema = ProviderUtil.getSchemaName(params);
String tableName = ProviderUtil.getTableName(params); String tableName = ProviderUtil.getTableName(params);
Row row = ProviderUtil.getRow(params); Row row = ProviderUtil.getRow(params);
ProviderUtil.setSqlArgs(params, RowCPI.obtainAllModifyValues(row)); ProviderUtil.setSqlArgs(params, RowCPI.obtainAllModifyValues(row));
return DialectFactory.getDialect().forUpdateById(tableName, row); return DialectFactory.getDialect().forUpdateById(schema, tableName, row);
} }
@ -174,14 +180,15 @@ public class RowSqlProvider {
* *
* @param params * @param params
* @return sql * @return sql
* @see RowMapper#updateByQuery(String, Row, QueryWrapper) * @see RowMapper#updateByQuery(String, String, Row, QueryWrapper)
*/ */
public static String updateByQuery(Map params) { public static String updateByQuery(Map params) {
String schema = ProviderUtil.getSchemaName(params);
String tableName = ProviderUtil.getTableName(params); String tableName = ProviderUtil.getTableName(params);
Row data = ProviderUtil.getRow(params); Row data = ProviderUtil.getRow(params);
QueryWrapper queryWrapper = ProviderUtil.getQueryWrapper(params); QueryWrapper queryWrapper = ProviderUtil.getQueryWrapper(params);
CPI.setFromIfNecessary(queryWrapper, tableName); CPI.setFromIfNecessary(queryWrapper,schema, tableName);
Object[] modifyValues = RowCPI.obtainModifyValues(data); Object[] modifyValues = RowCPI.obtainModifyValues(data);
Object[] valueArray = CPI.getValueArray(queryWrapper); Object[] valueArray = CPI.getValueArray(queryWrapper);
@ -198,9 +205,10 @@ public class RowSqlProvider {
* *
* @param params * @param params
* @return sql * @return sql
* @see RowMapper#updateBatchById(String, List) * @see RowMapper#updateBatchById(String, String, List)
*/ */
public static String updateBatchById(Map params) { public static String updateBatchById(Map params) {
String schema = ProviderUtil.getSchemaName(params);
String tableName = ProviderUtil.getTableName(params); String tableName = ProviderUtil.getTableName(params);
List<Row> rows = ProviderUtil.getRows(params); List<Row> rows = ProviderUtil.getRows(params);
if (CollectionUtil.isEmpty(rows)) { if (CollectionUtil.isEmpty(rows)) {
@ -212,7 +220,7 @@ public class RowSqlProvider {
values = ArrayUtil.concat(values, RowCPI.obtainAllModifyValues(row)); values = ArrayUtil.concat(values, RowCPI.obtainAllModifyValues(row));
} }
ProviderUtil.setSqlArgs(params, values); ProviderUtil.setSqlArgs(params, values);
return DialectFactory.getDialect().forUpdateBatchById(tableName, rows); return DialectFactory.getDialect().forUpdateBatchById(schema,tableName, rows);
} }
/** /**
@ -250,12 +258,12 @@ public class RowSqlProvider {
* *
* @param params * @param params
* @return sql * @return sql
* @see RowMapper#updateNumberAddByQuery(String, String, Number, QueryWrapper) * @see RowMapper#updateNumberAddByQuery(String, String, String, Number, QueryWrapper)
*/ */
public static String updateNumberAddByQuery(Map params) { public static String updateNumberAddByQuery(Map params) {
QueryWrapper queryWrapper = ProviderUtil.getQueryWrapper(params); QueryWrapper queryWrapper = ProviderUtil.getQueryWrapper(params);
String schema = ProviderUtil.getSchemaName(params);
String tableName = ProviderUtil.getTableName(params); String tableName = ProviderUtil.getTableName(params);
String fieldName = ProviderUtil.getFieldName(params); String fieldName = ProviderUtil.getFieldName(params);
Number value = (Number) ProviderUtil.getValue(params); Number value = (Number) ProviderUtil.getValue(params);
@ -265,7 +273,7 @@ public class RowSqlProvider {
ProviderUtil.setSqlArgs(params, queryParams); ProviderUtil.setSqlArgs(params, queryParams);
return DialectFactory.getDialect().forUpdateNumberAddByQuery(null, tableName, fieldName, value, queryWrapper); return DialectFactory.getDialect().forUpdateNumberAddByQuery(schema, tableName, fieldName, value, queryWrapper);
} }
@ -274,16 +282,17 @@ public class RowSqlProvider {
* *
* @param params * @param params
* @return sql * @return sql
* @see RowMapper#selectOneById(String, String, Object) * @see RowMapper#selectOneById(String, String, String, Object)
*/ */
public static String selectOneById(Map params) { public static String selectOneById(Map params) {
String schema = ProviderUtil.getSchemaName(params);
String tableName = ProviderUtil.getTableName(params); String tableName = ProviderUtil.getTableName(params);
String[] primaryKeys = ProviderUtil.getPrimaryKeys(params); String[] primaryKeys = ProviderUtil.getPrimaryKeys(params);
Object[] primaryValues = ProviderUtil.getPrimaryValues(params); Object[] primaryValues = ProviderUtil.getPrimaryValues(params);
ProviderUtil.setSqlArgs(params, primaryValues); ProviderUtil.setSqlArgs(params, primaryValues);
return DialectFactory.getDialect().forSelectOneById(tableName, primaryKeys, primaryValues); return DialectFactory.getDialect().forSelectOneById(schema,tableName, primaryKeys, primaryValues);
} }
@ -292,12 +301,13 @@ public class RowSqlProvider {
* *
* @param params * @param params
* @return sql * @return sql
* @see RowMapper#selectListByQuery(String, QueryWrapper) * @see RowMapper#selectListByQuery(String, String, QueryWrapper)
*/ */
public static String selectListByQuery(Map params) { public static String selectListByQuery(Map params) {
String schema = ProviderUtil.getSchemaName(params);
String tableName = ProviderUtil.getTableName(params); String tableName = ProviderUtil.getTableName(params);
QueryWrapper queryWrapper = ProviderUtil.getQueryWrapper(params); QueryWrapper queryWrapper = ProviderUtil.getQueryWrapper(params);
CPI.setFromIfNecessary(queryWrapper, tableName); CPI.setFromIfNecessary(queryWrapper,schema, tableName);
Object[] valueArray = CPI.getValueArray(queryWrapper); Object[] valueArray = CPI.getValueArray(queryWrapper);
ProviderUtil.setSqlArgs(params, valueArray); ProviderUtil.setSqlArgs(params, valueArray);
@ -311,13 +321,14 @@ public class RowSqlProvider {
* *
* @param params * @param params
* @return sql * @return sql
* @see RowMapper#selectCountByQuery(String, QueryWrapper) * @see RowMapper#selectCountByQuery(String, String, QueryWrapper)
*/ */
public static String selectObjectByQuery(Map params) { public static String selectObjectByQuery(Map params) {
String schema = ProviderUtil.getSchemaName(params);
String tableName = ProviderUtil.getTableName(params); String tableName = ProviderUtil.getTableName(params);
QueryWrapper queryWrapper = ProviderUtil.getQueryWrapper(params); QueryWrapper queryWrapper = ProviderUtil.getQueryWrapper(params);
CPI.setFromIfNecessary(queryWrapper, tableName); CPI.setFromIfNecessary(queryWrapper,schema,tableName);
Object[] valueArray = CPI.getValueArray(queryWrapper); Object[] valueArray = CPI.getValueArray(queryWrapper);
ProviderUtil.setSqlArgs(params, valueArray); ProviderUtil.setSqlArgs(params, valueArray);

View File

@ -62,13 +62,23 @@ public class Db {
/** /**
* tableName 插入一条 row 数据 * schema.tableName 插入一条 row 数据
*
* @param schema 模式
* @param tableName 表名
* @param row 数据
*/
public static int insert(String schema,String tableName, Row row) {
return invoker().insert(schema,tableName, row);
}
/**
* tableName 插入一条 row 数据
* *
* @param tableName 表名 * @param tableName 表名
* @param row 数据 * @param row 数据
*/ */
public static int insert(String tableName, Row row) { public static int insert(String tableName, Row row) {
return invoker().insert(tableName, row); return invoker().insert(null,tableName, row);
} }
@ -83,6 +93,17 @@ public class Db {
} }
/**
* 批量插入数据
*
* @param schema 模式
* @param tableName 表名
* @param rows 数据
*/
public static int[] insertBatch(String schema,String tableName, Collection<Row> rows) {
return insertBatch(schema,tableName, rows, rows.size());
}
/** /**
* 批量插入数据 * 批量插入数据
* *
@ -90,9 +111,24 @@ public class Db {
* @param rows 数据 * @param rows 数据
*/ */
public static int[] insertBatch(String tableName, Collection<Row> rows) { public static int[] insertBatch(String tableName, Collection<Row> rows) {
return insertBatch(tableName, rows, rows.size()); return insertBatch(null,tableName, rows, rows.size());
} }
/**
* 批量插入数据
*
* @param schema 模式
* @param tableName 表名
* @param rows 数据
* @param batchSize 每次提交的数据量
*/
public static int[] insertBatch(String schema,String tableName, Collection<Row> rows, int batchSize) {
List<Row> list = CollectionUtil.toList(rows);
return executeBatch(rows.size(), batchSize, RowMapper.class, (mapper, index) -> {
Row row = list.get(index);
mapper.insert(schema,tableName, row);
});
}
/** /**
* 批量插入数据 * 批量插入数据
* *
@ -104,18 +140,29 @@ public class Db {
List<Row> list = CollectionUtil.toList(rows); List<Row> list = CollectionUtil.toList(rows);
return executeBatch(rows.size(), batchSize, RowMapper.class, (mapper, index) -> { return executeBatch(rows.size(), batchSize, RowMapper.class, (mapper, index) -> {
Row row = list.get(index); Row row = list.get(index);
mapper.insert(tableName, row); mapper.insert(null,tableName, row);
}); });
} }
/** /**
* 批量插入数据根据第一条内容来构建插入的字段效率比 {@link #insertBatch(String, Collection, int)} * 批量插入数据根据第一条内容来构建插入的字段效率比 {@link #insertBatch(String ,String, Collection, int)}
*
* @param schema 模式
* @param tableName 表名
* @param rows 数据
*/
public static int insertBatchWithFirstRowColumns(String schema,String tableName, List<Row> rows) {
return invoker().insertBatchWithFirstRowColumns(schema,tableName, rows);
}
/**
* 批量插入数据根据第一条内容来构建插入的字段效率比 {@link #insertBatch(String ,String, Collection, int)}
* *
* @param tableName 表名 * @param tableName 表名
* @param rows 数据 * @param rows 数据
*/ */
public static int insertBatchWithFirstRowColumns(String tableName, List<Row> rows) { public static int insertBatchWithFirstRowColumns(String tableName, List<Row> rows) {
return invoker().insertBatchWithFirstRowColumns(tableName, rows); return invoker().insertBatchWithFirstRowColumns(null,tableName, rows);
} }
/** /**
@ -128,6 +175,17 @@ public class Db {
return invoker().deleteBySql(sql, args); return invoker().deleteBySql(sql, args);
} }
/**
* 根据主键来删除数据其中 row 是通过 {@link Row#ofKey(RowKey, Object)} 来进行构建的
*
* @param schema 模式
* @param tableName 表名
* @param row 主键 id值
*/
public static int deleteById(String schema,String tableName, Row row) {
return invoker().deleteById(schema,tableName, row);
}
/** /**
* 根据主键来删除数据其中 row 是通过 {@link Row#ofKey(RowKey, Object)} 来进行构建的 * 根据主键来删除数据其中 row 是通过 {@link Row#ofKey(RowKey, Object)} 来进行构建的
* *
@ -135,7 +193,20 @@ public class Db {
* @param row 主键 id值 * @param row 主键 id值
*/ */
public static int deleteById(String tableName, Row row) { public static int deleteById(String tableName, Row row) {
return invoker().deleteById(tableName, row); return invoker().deleteById(null,tableName, row);
}
/**
* 根据主键来删除 1 条数据
*
* @param schema 模式
* @param tableName 表名
* @param primaryKey 主键字段名称
* @param id 主键值
*/
public static int deleteById(String schema,String tableName, String primaryKey, Object id) {
return invoker().deleteById(schema,tableName, primaryKey, id);
} }
/** /**
@ -146,7 +217,20 @@ public class Db {
* @param id 主键值 * @param id 主键值
*/ */
public static int deleteById(String tableName, String primaryKey, Object id) { public static int deleteById(String tableName, String primaryKey, Object id) {
return invoker().deleteById(tableName, primaryKey, id); return invoker().deleteById(null,tableName, primaryKey, id);
}
/**
* 根据 id 集合来批量删除数据
*
* @param schema 模式
* @param tableName 表名
* @param primaryKey 主键字段名称
* @param ids id 集合
*/
public static int deleteBatchByIds(String schema,String tableName, String primaryKey, Collection<?> ids) {
return invoker().deleteBatchByIds(schema,tableName, primaryKey, ids);
} }
/** /**
@ -157,7 +241,18 @@ public class Db {
* @param ids id 集合 * @param ids id 集合
*/ */
public static int deleteBatchByIds(String tableName, String primaryKey, Collection<?> ids) { public static int deleteBatchByIds(String tableName, String primaryKey, Collection<?> ids) {
return invoker().deleteBatchByIds(tableName, primaryKey, ids); return invoker().deleteBatchByIds(null,tableName, primaryKey, ids);
}
/**
* 根据 map 构建的 where 条件来删除数据
*
* @param schema 模式
* @param tableName 表名
* @param whereColumns where 条件
*/
public static int deleteByMap(String schema,String tableName, Map<String, Object> whereColumns) {
return invoker().deleteByQuery(schema,tableName, new QueryWrapper().where(whereColumns));
} }
/** /**
@ -167,9 +262,19 @@ public class Db {
* @param whereColumns where 条件 * @param whereColumns where 条件
*/ */
public static int deleteByMap(String tableName, Map<String, Object> whereColumns) { public static int deleteByMap(String tableName, Map<String, Object> whereColumns) {
return invoker().deleteByQuery(tableName, new QueryWrapper().where(whereColumns)); return invoker().deleteByQuery(null,tableName, new QueryWrapper().where(whereColumns));
} }
/**
* 根据 condition 条件删除数据
*
* @param schema 模式
* @param tableName 表名
* @param condition 条件内容
*/
public static int deleteByCondition(String schema,String tableName, QueryCondition condition) {
return invoker().deleteByQuery(schema,tableName, new QueryWrapper().where(condition));
}
/** /**
* 根据 condition 条件删除数据 * 根据 condition 条件删除数据
@ -178,7 +283,19 @@ public class Db {
* @param condition 条件内容 * @param condition 条件内容
*/ */
public static int deleteByCondition(String tableName, QueryCondition condition) { public static int deleteByCondition(String tableName, QueryCondition condition) {
return invoker().deleteByQuery(tableName, new QueryWrapper().where(condition)); return invoker().deleteByQuery(null,tableName, new QueryWrapper().where(condition));
}
/**
* 根据 query 构建的条件来删除数据
*
* @param schema 模式
* @param tableName 表名
* @param queryWrapper query
*/
public static int deleteByQuery(String schema,String tableName, QueryWrapper queryWrapper) {
return invoker().deleteByQuery(schema,tableName, queryWrapper);
} }
/** /**
@ -188,10 +305,9 @@ public class Db {
* @param queryWrapper query * @param queryWrapper query
*/ */
public static int deleteByQuery(String tableName, QueryWrapper queryWrapper) { public static int deleteByQuery(String tableName, QueryWrapper queryWrapper) {
return invoker().deleteByQuery(tableName, queryWrapper); return invoker().deleteByQuery(null,tableName, queryWrapper);
} }
/** /**
* 根据原生 sql 来更新数据 * 根据原生 sql 来更新数据
* *
@ -218,13 +334,38 @@ public class Db {
/** /**
* 根据 id 来更新数据 * 根据 id 来更新数据
* *
* @param tableName 表情 * @param schema 模式
* @param tableName 表名
* @param row id 及其内容
*/
public static int updateById(String schema,String tableName, Row row) {
return invoker().updateById(schema,tableName, row);
}
/**
* 根据 id 来更新数据
*
* @param tableName 表名
* @param row id 及其内容 * @param row id 及其内容
*/ */
public static int updateById(String tableName, Row row) { public static int updateById(String tableName, Row row) {
return invoker().updateById(tableName, row); return invoker().updateById(null,tableName, row);
} }
/**
* 根据 map 构建的条件来更新数据
*
* @param schema 模式
* @param tableName 表名
* @param data 数据内容
* @param whereColumns where 条件
*/
public static int updateByMap(String schema,String tableName, Row data, Map<String, Object> whereColumns) {
return invoker().updateByQuery(schema,tableName, data, new QueryWrapper().where(whereColumns));
}
/** /**
* 根据 map 构建的条件来更新数据 * 根据 map 构建的条件来更新数据
* *
@ -233,7 +374,19 @@ public class Db {
* @param whereColumns where 条件 * @param whereColumns where 条件
*/ */
public static int updateByMap(String tableName, Row data, Map<String, Object> whereColumns) { public static int updateByMap(String tableName, Row data, Map<String, Object> whereColumns) {
return invoker().updateByQuery(tableName, data, new QueryWrapper().where(whereColumns)); return invoker().updateByQuery(null,tableName, data, new QueryWrapper().where(whereColumns));
}
/**
* 根据 condition 来更新数据
*
* @param schema 模式
* @param tableName 表名
* @param data 数据
* @param condition 条件
*/
public static int updateByCondition(String schema,String tableName, Row data, QueryCondition condition) {
return invoker().updateByQuery(schema,tableName, data, new QueryWrapper().where(condition));
} }
/** /**
@ -244,10 +397,22 @@ public class Db {
* @param condition 条件 * @param condition 条件
*/ */
public static int updateByCondition(String tableName, Row data, QueryCondition condition) { public static int updateByCondition(String tableName, Row data, QueryCondition condition) {
return invoker().updateByQuery(tableName, data, new QueryWrapper().where(condition)); return invoker().updateByQuery(null,tableName, data, new QueryWrapper().where(condition));
} }
/**
* 根据 query 构建的条件来更新数据
*
* @param schema 模式
* @param tableName 表名
* @param data 数据内容
* @param queryWrapper queryWrapper 条件
*/
public static int updateByQuery(String schema,String tableName, Row data, QueryWrapper queryWrapper) {
return invoker().updateByQuery(schema,tableName, data, queryWrapper);
}
/** /**
* 根据 query 构建的条件来更新数据 * 根据 query 构建的条件来更新数据
* *
@ -256,10 +421,21 @@ public class Db {
* @param queryWrapper queryWrapper 条件 * @param queryWrapper queryWrapper 条件
*/ */
public static int updateByQuery(String tableName, Row data, QueryWrapper queryWrapper) { public static int updateByQuery(String tableName, Row data, QueryWrapper queryWrapper) {
return invoker().updateByQuery(tableName, data, queryWrapper); return invoker().updateByQuery(null,tableName, data, queryWrapper);
} }
/**
* 根据主键来批量更新数据
*
* @param schema 模式
* @param tableName 表名
* @param rows 还有主键的数据
*/
public static int updateBatchById(String schema,String tableName, List<Row> rows) {
return invoker().updateBatchById(schema,tableName, rows);
}
/** /**
* 根据主键来批量更新数据 * 根据主键来批量更新数据
* *
@ -267,7 +443,7 @@ public class Db {
* @param rows 还有主键的数据 * @param rows 还有主键的数据
*/ */
public static int updateBatchById(String tableName, List<Row> rows) { public static int updateBatchById(String tableName, List<Row> rows) {
return invoker().updateBatchById(tableName, rows); return invoker().updateBatchById(null,tableName, rows);
} }
@ -298,8 +474,32 @@ public class Db {
} }
/**
* 通过 update schema.table set field = field + 1 where ... 的这种方向更新数据库某个字段内容
*
*
* @param schema 模式
* @param tableName 表名
* @param fieldName 字段名
* @param value 递增值
* @param queryWrapper 条件
* @return 受影响行数
*/
public static int updateNumberAddByQuery(String schema,String tableName, String fieldName, Number value, QueryWrapper queryWrapper){
return invoker().updateNumberAddByQuery(schema,tableName, fieldName, value, queryWrapper);
}
/**
* 通过 update table set field = field + 1 where ... 的这种方向更新数据库某个字段内容
*
* @param tableName
* @param fieldName
* @param value
* @param queryWrapper
* @return
*/
public static int updateNumberAddByQuery(String tableName, String fieldName, Number value, QueryWrapper queryWrapper){ public static int updateNumberAddByQuery(String tableName, String fieldName, Number value, QueryWrapper queryWrapper){
return invoker().updateNumberAddByQuery(tableName, fieldName, value, queryWrapper); return invoker().updateNumberAddByQuery(null,tableName, fieldName, value, queryWrapper);
} }
@ -328,6 +528,17 @@ public class Db {
} }
/**
* 根据 id 来查询 1 条数据
*
* @param schema 模式
* @param tableName 表名
* @param row 主键和 id
*/
public static Row selectOneById(String schema,String tableName, Row row) {
return invoker().selectOneById(schema,tableName, row);
}
/** /**
* 根据 id 来查询 1 条数据 * 根据 id 来查询 1 条数据
* *
@ -335,10 +546,22 @@ public class Db {
* @param row 主键和 id * @param row 主键和 id
*/ */
public static Row selectOneById(String tableName, Row row) { public static Row selectOneById(String tableName, Row row) {
return invoker().selectOneById(tableName, row); return invoker().selectOneById(null,tableName, row);
} }
/**
* 根据主键来查询 1 条数据
*
* @param schema 模式
* @param tableName 表名
* @param primaryKey 主键字段名称
* @param id 主键值
*/
public static Row selectOneById(String schema,String tableName, String primaryKey, Object id) {
return invoker().selectOneById(schema,tableName, primaryKey, id);
}
/** /**
* 根据主键来查询 1 条数据 * 根据主键来查询 1 条数据
* *
@ -347,9 +570,21 @@ public class Db {
* @param id 主键值 * @param id 主键值
*/ */
public static Row selectOneById(String tableName, String primaryKey, Object id) { public static Row selectOneById(String tableName, String primaryKey, Object id) {
return invoker().selectOneById(tableName, primaryKey, id); return invoker().selectOneById(null,tableName, primaryKey, id);
} }
/**
* 根据 map 来查询 1 条数据
*
* @param schema 模式
* @param tableName 表名
* @param whereColumns where条件
*/
public static Row selectOneByMap(String schema,String tableName, Map whereColumns) {
return invoker().selectOneByQuery(schema,tableName, new QueryWrapper().where(whereColumns));
}
/** /**
* 根据 map 来查询 1 条数据 * 根据 map 来查询 1 条数据
@ -358,7 +593,18 @@ public class Db {
* @param whereColumns where条件 * @param whereColumns where条件
*/ */
public static Row selectOneByMap(String tableName, Map whereColumns) { public static Row selectOneByMap(String tableName, Map whereColumns) {
return invoker().selectOneByQuery(tableName, new QueryWrapper().where(whereColumns)); return invoker().selectOneByQuery(null,tableName, new QueryWrapper().where(whereColumns));
}
/**
* 根据 condition 来查询数据
*
* @param schema 模式
* @param tableName 表名
* @param condition 条件
*/
public static Row selectOneByCondition(String schema,String tableName, QueryCondition condition) {
return invoker().selectOneByQuery(schema,tableName, new QueryWrapper().where(condition));
} }
/** /**
@ -368,10 +614,21 @@ public class Db {
* @param condition 条件 * @param condition 条件
*/ */
public static Row selectOneByCondition(String tableName, QueryCondition condition) { public static Row selectOneByCondition(String tableName, QueryCondition condition) {
return invoker().selectOneByQuery(tableName, new QueryWrapper().where(condition)); return invoker().selectOneByQuery(null,tableName, new QueryWrapper().where(condition));
} }
/**
* 根据 queryWrapper 来查询 1 条数据
*
* @param schema 模式
* @param tableName 表名
* @param queryWrapper queryWrapper
*/
public static Row selectOneByQuery(String schema,String tableName, QueryWrapper queryWrapper) {
return invoker().selectOneByQuery(schema,tableName, queryWrapper);
}
/** /**
* 根据 queryWrapper 来查询 1 条数据 * 根据 queryWrapper 来查询 1 条数据
* *
@ -379,7 +636,7 @@ public class Db {
* @param queryWrapper queryWrapper * @param queryWrapper queryWrapper
*/ */
public static Row selectOneByQuery(String tableName, QueryWrapper queryWrapper) { public static Row selectOneByQuery(String tableName, QueryWrapper queryWrapper) {
return invoker().selectOneByQuery(tableName, queryWrapper); return invoker().selectOneByQuery(null,tableName, queryWrapper);
} }
@ -393,7 +650,7 @@ public class Db {
if (queryTables == null || queryTables.isEmpty()) { if (queryTables == null || queryTables.isEmpty()) {
throw FlexExceptions.wrap("table must not be null or empty in Db.selectOneByQuery"); throw FlexExceptions.wrap("table must not be null or empty in Db.selectOneByQuery");
} }
return invoker().selectOneByQuery(null, queryWrapper); return invoker().selectOneByQuery(null,null, queryWrapper);
} }
@ -408,6 +665,17 @@ public class Db {
} }
/**
* 通过 map 构建的条件来查询数据列表
*
* @param schema 模式
* @param tableName 表名
* @param whereColumns where 条件
*/
public static List<Row> selectListByMap(String schema,String tableName, Map<String, Object> whereColumns) {
return invoker().selectListByQuery(schema,tableName, new QueryWrapper().where(whereColumns));
}
/** /**
* 通过 map 构建的条件来查询数据列表 * 通过 map 构建的条件来查询数据列表
* *
@ -415,7 +683,20 @@ public class Db {
* @param whereColumns where 条件 * @param whereColumns where 条件
*/ */
public static List<Row> selectListByMap(String tableName, Map<String, Object> whereColumns) { public static List<Row> selectListByMap(String tableName, Map<String, Object> whereColumns) {
return invoker().selectListByQuery(tableName, new QueryWrapper().where(whereColumns)); return invoker().selectListByQuery(null,tableName, new QueryWrapper().where(whereColumns));
}
/**
* 根据 map 构建的条件来查询数据列表
*
* @param schema 模式
* @param tableName 表名
* @param whereColumns 条件
* @param count 数据量
*/
public static List<Row> selectListByMap(String schema,String tableName, Map<String, Object> whereColumns, int count) {
return invoker().selectListByQuery(schema,tableName, new QueryWrapper().where(whereColumns).limit(count));
} }
/** /**
@ -426,7 +707,19 @@ public class Db {
* @param count 数据量 * @param count 数据量
*/ */
public static List<Row> selectListByMap(String tableName, Map<String, Object> whereColumns, int count) { public static List<Row> selectListByMap(String tableName, Map<String, Object> whereColumns, int count) {
return invoker().selectListByQuery(tableName, new QueryWrapper().where(whereColumns).limit(count)); return invoker().selectListByQuery(null,tableName, new QueryWrapper().where(whereColumns).limit(count));
}
/**
* 通过 condition 条件来查询数据列表
*
* @param schema 模式
* @param tableName 表名
* @param condition where 条件
*/
public static List<Row> selectListByCondition(String schema,String tableName, QueryCondition condition) {
return invoker().selectListByQuery(schema,tableName, new QueryWrapper().where(condition));
} }
@ -437,7 +730,18 @@ public class Db {
* @param condition where 条件 * @param condition where 条件
*/ */
public static List<Row> selectListByCondition(String tableName, QueryCondition condition) { public static List<Row> selectListByCondition(String tableName, QueryCondition condition) {
return invoker().selectListByQuery(tableName, new QueryWrapper().where(condition)); return invoker().selectListByQuery(null,tableName, new QueryWrapper().where(condition));
}
/**
* 根据 condition 条件来查询数据列表
*
* @param schema 模式
* @param tableName 表名
* @param condition 条件
* @param count 数据量
*/
public static List<Row> selectListByCondition(String schema,String tableName, QueryCondition condition, int count) {
return invoker().selectListByQuery(schema,tableName, new QueryWrapper().where(condition).limit(count));
} }
/** /**
@ -448,7 +752,19 @@ public class Db {
* @param count 数据量 * @param count 数据量
*/ */
public static List<Row> selectListByCondition(String tableName, QueryCondition condition, int count) { public static List<Row> selectListByCondition(String tableName, QueryCondition condition, int count) {
return invoker().selectListByQuery(tableName, new QueryWrapper().where(condition).limit(count)); return invoker().selectListByQuery(null,tableName, new QueryWrapper().where(condition).limit(count));
}
/**
* 通过 query 来查询数据列表
*
* @param schema 模式
* @param tableName 表名
* @param queryWrapper query 条件
*/
public static List<Row> selectListByQuery(String schema,String tableName, QueryWrapper queryWrapper) {
return invoker().selectListByQuery(schema,tableName, queryWrapper);
} }
@ -459,7 +775,7 @@ public class Db {
* @param queryWrapper query 条件 * @param queryWrapper query 条件
*/ */
public static List<Row> selectListByQuery(String tableName, QueryWrapper queryWrapper) { public static List<Row> selectListByQuery(String tableName, QueryWrapper queryWrapper) {
return invoker().selectListByQuery(tableName, queryWrapper); return invoker().selectListByQuery(null,tableName, queryWrapper);
} }
@ -473,7 +789,17 @@ public class Db {
if (queryTables == null || queryTables.isEmpty()) { if (queryTables == null || queryTables.isEmpty()) {
throw FlexExceptions.wrap("table must not be null or empty in Db.selectListByQuery"); throw FlexExceptions.wrap("table must not be null or empty in Db.selectListByQuery");
} }
return invoker().selectListByQuery(null, queryWrapper); return invoker().selectListByQuery(null,null, queryWrapper);
}
/**
* 查询某张表的所有数据
*
* @param schema 模式
* @param tableName 表名
*/
public static List<Row> selectAll(String schema,String tableName) {
return invoker().selectAll(schema,tableName);
} }
/** /**
@ -482,7 +808,7 @@ public class Db {
* @param tableName 表名 * @param tableName 表名
*/ */
public static List<Row> selectAll(String tableName) { public static List<Row> selectAll(String tableName) {
return invoker().selectAll(tableName); return invoker().selectAll(null,tableName);
} }
/** /**
@ -496,6 +822,18 @@ public class Db {
} }
/**
* 根据 queryWrapper 查询内容数据返回的应该只有 1 1
*
* @param schema 模式
* @param tableName 表名
* @param queryWrapper query 封装
* @return 数据内容
*/
public static Object selectObject(String schema,String tableName, QueryWrapper queryWrapper) {
return invoker().selectObjectByQuery(schema,tableName, queryWrapper);
}
/** /**
* 根据 queryWrapper 查询内容数据返回的应该只有 1 1 * 根据 queryWrapper 查询内容数据返回的应该只有 1 1
* *
@ -504,7 +842,7 @@ public class Db {
* @return 数据内容 * @return 数据内容
*/ */
public static Object selectObject(String tableName, QueryWrapper queryWrapper) { public static Object selectObject(String tableName, QueryWrapper queryWrapper) {
return invoker().selectObjectByQuery(tableName, queryWrapper); return invoker().selectObjectByQuery(null,tableName, queryWrapper);
} }
@ -515,10 +853,11 @@ public class Db {
* @return 数据内容 * @return 数据内容
*/ */
public static Object selectObject(QueryWrapper queryWrapper) { public static Object selectObject(QueryWrapper queryWrapper) {
return invoker().selectObjectByQuery(null, queryWrapper); return invoker().selectObjectByQuery(null, null, queryWrapper);
} }
/** /**
* 查询某列内容数据返回应该有 多行 1 * 查询某列内容数据返回应该有 多行 1
* *
@ -530,6 +869,18 @@ public class Db {
} }
/**
* 根据 queryWrapper 查询内容数据返回的应该只有 1 1
*
* @param schema 模式
* @param tableName 表名
* @param queryWrapper query 封装
* @return 数据内容
*/
public static Object selectObjectList(String schema,String tableName, QueryWrapper queryWrapper) {
return invoker().selectObjectListByQuery(schema,tableName, queryWrapper);
}
/** /**
* 根据 queryWrapper 查询内容数据返回的应该只有 1 1 * 根据 queryWrapper 查询内容数据返回的应该只有 1 1
* *
@ -538,7 +889,7 @@ public class Db {
* @return 数据内容 * @return 数据内容
*/ */
public static Object selectObjectList(String tableName, QueryWrapper queryWrapper) { public static Object selectObjectList(String tableName, QueryWrapper queryWrapper) {
return invoker().selectObjectListByQuery(tableName, queryWrapper); return invoker().selectObjectListByQuery(null,tableName, queryWrapper);
} }
@ -549,7 +900,7 @@ public class Db {
* @return 数据内容 * @return 数据内容
*/ */
public static Object selectObjectList(QueryWrapper queryWrapper) { public static Object selectObjectList(QueryWrapper queryWrapper) {
return invoker().selectObjectListByQuery(null, queryWrapper); return invoker().selectObjectListByQuery(null, null, queryWrapper);
} }
@ -565,6 +916,17 @@ public class Db {
} }
/**
* 根据 condition 条件来查询数量
*
* @param schema 模式
* @param tableName 表名
* @param condition 条件
*/
public static long selectCountByCondition(String schema,String tableName, QueryCondition condition) {
return invoker().selectCountByQuery(schema,tableName, new QueryWrapper().where(condition));
}
/** /**
* 根据 condition 条件来查询数量 * 根据 condition 条件来查询数量
* *
@ -572,10 +934,21 @@ public class Db {
* @param condition 条件 * @param condition 条件
*/ */
public static long selectCountByCondition(String tableName, QueryCondition condition) { public static long selectCountByCondition(String tableName, QueryCondition condition) {
return invoker().selectCountByQuery(tableName, new QueryWrapper().where(condition)); return invoker().selectCountByQuery(null,tableName, new QueryWrapper().where(condition));
} }
/**
* 根据 query 构建的条件来查询数据量
*
* @param schema 模式
* @param tableName 表名
* @param queryWrapper query 条件
*/
public static long selectCountByQuery(String schema,String tableName, QueryWrapper queryWrapper) {
return invoker().selectCountByQuery(schema,tableName, queryWrapper);
}
/** /**
* 根据 query 构建的条件来查询数据量 * 根据 query 构建的条件来查询数据量
* *
@ -583,7 +956,7 @@ public class Db {
* @param queryWrapper query 条件 * @param queryWrapper query 条件
*/ */
public static long selectCountByQuery(String tableName, QueryWrapper queryWrapper) { public static long selectCountByQuery(String tableName, QueryWrapper queryWrapper) {
return invoker().selectCountByQuery(tableName, queryWrapper); return invoker().selectCountByQuery(null,tableName, queryWrapper);
} }
@ -598,7 +971,21 @@ public class Db {
if (queryTables == null || queryTables.isEmpty()) { if (queryTables == null || queryTables.isEmpty()) {
throw FlexExceptions.wrap("Query tables must not be null or empty in Db.selectCountByQuery"); throw FlexExceptions.wrap("Query tables must not be null or empty in Db.selectCountByQuery");
} }
return invoker().selectCountByQuery(null, queryWrapper); return invoker().selectCountByQuery(null,null, queryWrapper);
}
/**
* 分页查询
*
* @param schema 模式
* @param tableName 表名
* @param pageNumber 当前的页码
* @param pageSize 每页的数据量
* @param condition 条件
*/
public static Page<Row> paginate(String schema,String tableName, int pageNumber, int pageSize, QueryCondition condition) {
return invoker().paginate(schema,tableName, new Page<>(pageNumber, pageSize), QueryWrapper.create().where(condition));
} }
@ -611,10 +998,24 @@ public class Db {
* @param condition 条件 * @param condition 条件
*/ */
public static Page<Row> paginate(String tableName, int pageNumber, int pageSize, QueryCondition condition) { public static Page<Row> paginate(String tableName, int pageNumber, int pageSize, QueryCondition condition) {
return invoker().paginate(tableName, new Page<>(pageNumber, pageSize), QueryWrapper.create().where(condition)); return invoker().paginate(null,tableName, new Page<>(pageNumber, pageSize), QueryWrapper.create().where(condition));
} }
/**
* 分页查询
*
* @param schema 模式
* @param tableName 表名
* @param pageNumber 当前的页码
* @param pageSize 每页的数据量
* @param totalRow 数据总量
* @param condition 条件
*/
public static Page<Row> paginate(String schema,String tableName, int pageNumber, int pageSize, int totalRow, QueryCondition condition) {
return invoker().paginate(schema,tableName, new Page<>(pageNumber, pageSize, totalRow), QueryWrapper.create().where(condition));
}
/** /**
* 分页查询 * 分页查询
* *
@ -625,10 +1026,23 @@ public class Db {
* @param condition 条件 * @param condition 条件
*/ */
public static Page<Row> paginate(String tableName, int pageNumber, int pageSize, int totalRow, QueryCondition condition) { public static Page<Row> paginate(String tableName, int pageNumber, int pageSize, int totalRow, QueryCondition condition) {
return invoker().paginate(tableName, new Page<>(pageNumber, pageSize, totalRow), QueryWrapper.create().where(condition)); return invoker().paginate(null,tableName, new Page<>(pageNumber, pageSize, totalRow), QueryWrapper.create().where(condition));
} }
/**
* 分页查询
*
* @param schema 模式
* @param tableName 表名
* @param pageNumber 当前的页码
* @param pageSize 每页的数据量
* @param queryWrapper 条件
*/
public static Page<Row> paginate(String schema,String tableName, int pageNumber, int pageSize, QueryWrapper queryWrapper) {
return invoker().paginate(schema,tableName, new Page<>(pageNumber, pageSize), queryWrapper);
}
/** /**
* 分页查询 * 分页查询
* *
@ -638,10 +1052,24 @@ public class Db {
* @param queryWrapper 条件 * @param queryWrapper 条件
*/ */
public static Page<Row> paginate(String tableName, int pageNumber, int pageSize, QueryWrapper queryWrapper) { public static Page<Row> paginate(String tableName, int pageNumber, int pageSize, QueryWrapper queryWrapper) {
return invoker().paginate(tableName, new Page<>(pageNumber, pageSize), queryWrapper); return invoker().paginate(null,tableName, new Page<>(pageNumber, pageSize), queryWrapper);
} }
/**
* 分页查询
*
* @param schema 模式
* @param tableName 表名
* @param pageNumber 当前的页码
* @param pageSize 每页的数据量
* @param totalRow 数据总量
* @param queryWrapper 条件
*/
public static Page<Row> paginate(String schema,String tableName, int pageNumber, int pageSize, int totalRow, QueryWrapper queryWrapper) {
return invoker().paginate(schema,tableName, new Page<>(pageNumber, pageSize, totalRow), queryWrapper);
}
/** /**
* 分页查询 * 分页查询
* *
@ -652,10 +1080,22 @@ public class Db {
* @param queryWrapper 条件 * @param queryWrapper 条件
*/ */
public static Page<Row> paginate(String tableName, int pageNumber, int pageSize, int totalRow, QueryWrapper queryWrapper) { public static Page<Row> paginate(String tableName, int pageNumber, int pageSize, int totalRow, QueryWrapper queryWrapper) {
return invoker().paginate(tableName, new Page<>(pageNumber, pageSize, totalRow), queryWrapper); return invoker().paginate(null,tableName, new Page<>(pageNumber, pageSize, totalRow), queryWrapper);
} }
/**
* 分页查询
*
* @param schema 模式
* @param tableName 表名
* @param page page 对象 page totalCount 则不会再去查询分类的数据总量
* @param queryWrapper 条件
*/
public static Page<Row> paginate(String schema,String tableName, Page<Row> page, QueryWrapper queryWrapper) {
return invoker().paginate(schema,tableName, page, queryWrapper);
}
/** /**
* 分页查询 * 分页查询
* *
@ -664,7 +1104,7 @@ public class Db {
* @param queryWrapper 条件 * @param queryWrapper 条件
*/ */
public static Page<Row> paginate(String tableName, Page<Row> page, QueryWrapper queryWrapper) { public static Page<Row> paginate(String tableName, Page<Row> page, QueryWrapper queryWrapper) {
return invoker().paginate(tableName, page, queryWrapper); return invoker().paginate(null,tableName, page, queryWrapper);
} }

View File

@ -45,7 +45,7 @@ public interface RowMapper {
* @see RowSqlProvider#insert(Map) * @see RowSqlProvider#insert(Map)
*/ */
@InsertProvider(value = RowSqlProvider.class, method = "insert") @InsertProvider(value = RowSqlProvider.class, method = "insert")
int insert(@Param(FlexConsts.TABLE_NAME) String tableName, @Param(FlexConsts.ROW) Row row); int insert(@Param(FlexConsts.SCHEMA_NAME) String schema,@Param(FlexConsts.TABLE_NAME) String tableName, @Param(FlexConsts.ROW) Row row);
/** /**
@ -71,7 +71,7 @@ public interface RowMapper {
* @see RowSqlProvider#insertBatchWithFirstRowColumns(Map) * @see RowSqlProvider#insertBatchWithFirstRowColumns(Map)
*/ */
@InsertProvider(value = RowSqlProvider.class, method = "insertBatchWithFirstRowColumns") @InsertProvider(value = RowSqlProvider.class, method = "insertBatchWithFirstRowColumns")
int insertBatchWithFirstRowColumns(@Param(FlexConsts.TABLE_NAME) String tableName, @Param(FlexConsts.ROWS) List<Row> rows); int insertBatchWithFirstRowColumns(@Param(FlexConsts.SCHEMA_NAME) String schema,@Param(FlexConsts.TABLE_NAME) String tableName, @Param(FlexConsts.ROWS) List<Row> rows);
/////// delete ///// /////// delete /////
@ -89,17 +89,19 @@ public interface RowMapper {
/** /**
* 根据 id 删除数据 * 根据 id 删除数据
* *
* @param schema 模式
* @param tableName 表名 * @param tableName 表名
* @param row id 值的数据可以通过 {@link Row#ofKey(String, Object)} 来创建 * @param row id 值的数据可以通过 {@link Row#ofKey(String, Object)} 来创建
* @return 执行影响的行数 * @return 执行影响的行数
*/ */
default int deleteById(String tableName, Row row) { default int deleteById(String schema,String tableName, Row row) {
return deleteById(tableName, StringUtil.join(",", row.obtainsPrimaryKeyStrings()), row.obtainsPrimaryValues()); return deleteById(schema,tableName, StringUtil.join(",", row.obtainsPrimaryKeyStrings()), row.obtainsPrimaryValues());
} }
/** /**
* 根据 id 删除数据 * 根据 id 删除数据
* *
* @param schema 模式
* @param tableName 表名 * @param tableName 表名
* @param primaryKey 主键多个主键用英文逗号隔开 * @param primaryKey 主键多个主键用英文逗号隔开
* @param id 数据多个主键时传入数组例如 new Object[]{1,2} * @param id 数据多个主键时传入数组例如 new Object[]{1,2}
@ -107,12 +109,13 @@ public interface RowMapper {
* @see RowSqlProvider#deleteById(Map) * @see RowSqlProvider#deleteById(Map)
*/ */
@DeleteProvider(value = RowSqlProvider.class, method = "deleteById") @DeleteProvider(value = RowSqlProvider.class, method = "deleteById")
int deleteById(@Param(FlexConsts.TABLE_NAME) String tableName, @Param(FlexConsts.PRIMARY_KEY) String primaryKey, @Param(FlexConsts.PRIMARY_VALUE) Object id); int deleteById(@Param(FlexConsts.SCHEMA_NAME) String schema,@Param(FlexConsts.TABLE_NAME) String tableName, @Param(FlexConsts.PRIMARY_KEY) String primaryKey, @Param(FlexConsts.PRIMARY_VALUE) Object id);
/** /**
* 根据 多个 id 值删除多条数据 * 根据 多个 id 值删除多条数据
* *
* @param schema 模式
* @param tableName 表名 * @param tableName 表名
* @param primaryKey 主键 * @param primaryKey 主键
* @param ids id 的集合 * @param ids id 的集合
@ -120,19 +123,20 @@ public interface RowMapper {
* @see RowSqlProvider#deleteBatchByIds(Map) * @see RowSqlProvider#deleteBatchByIds(Map)
*/ */
@DeleteProvider(value = RowSqlProvider.class, method = "deleteBatchByIds") @DeleteProvider(value = RowSqlProvider.class, method = "deleteBatchByIds")
int deleteBatchByIds(@Param(FlexConsts.TABLE_NAME) String tableName, @Param(FlexConsts.PRIMARY_KEY) String primaryKey, @Param(FlexConsts.PRIMARY_VALUE) Collection<?> ids); int deleteBatchByIds(@Param(FlexConsts.SCHEMA_NAME) String schema,@Param(FlexConsts.TABLE_NAME) String tableName, @Param(FlexConsts.PRIMARY_KEY) String primaryKey, @Param(FlexConsts.PRIMARY_VALUE) Collection<?> ids);
/** /**
* 根据 queryWrapper 构建 where 条件来删除数据 * 根据 queryWrapper 构建 where 条件来删除数据
* *
* @param schema 模式
* @param tableName 表名 * @param tableName 表名
* @param queryWrapper queryWrapper * @param queryWrapper queryWrapper
* @return 执行影响的行数 * @return 执行影响的行数
* @see RowSqlProvider#deleteByQuery(Map) * @see RowSqlProvider#deleteByQuery(Map)
*/ */
@DeleteProvider(value = RowSqlProvider.class, method = "deleteByQuery") @DeleteProvider(value = RowSqlProvider.class, method = "deleteByQuery")
int deleteByQuery(@Param(FlexConsts.TABLE_NAME) String tableName, @Param(FlexConsts.QUERY) QueryWrapper queryWrapper); int deleteByQuery(@Param(FlexConsts.SCHEMA_NAME) String schema,@Param(FlexConsts.TABLE_NAME) String tableName, @Param(FlexConsts.QUERY) QueryWrapper queryWrapper);
////////update //// ////////update ////
@ -151,18 +155,20 @@ public interface RowMapper {
/** /**
* 根据主键来更新数据 * 根据主键来更新数据
* *
* @param schema 模式
* @param tableName 表名 * @param tableName 表名
* @param row 数据其必须包含主键数据列名和值 * @param row 数据其必须包含主键数据列名和值
* @return 执行影响的行数 * @return 执行影响的行数
* @see RowSqlProvider#updateById(Map) * @see RowSqlProvider#updateById(Map)
*/ */
@UpdateProvider(value = RowSqlProvider.class, method = "updateById") @UpdateProvider(value = RowSqlProvider.class, method = "updateById")
int updateById(@Param(FlexConsts.TABLE_NAME) String tableName, @Param(FlexConsts.ROW) Row row); int updateById(@Param(FlexConsts.SCHEMA_NAME) String schema,@Param(FlexConsts.TABLE_NAME) String tableName, @Param(FlexConsts.ROW) Row row);
/** /**
* 根据 queryWrapper 来构建 where 条件更新数据 * 根据 queryWrapper 来构建 where 条件更新数据
* *
* @param schema 模式
* @param tableName 表名 * @param tableName 表名
* @param data 更新数据 * @param data 更新数据
* @param queryWrapper queryWrapper * @param queryWrapper queryWrapper
@ -170,7 +176,7 @@ public interface RowMapper {
* @see RowSqlProvider#updateByQuery(Map) * @see RowSqlProvider#updateByQuery(Map)
*/ */
@UpdateProvider(value = RowSqlProvider.class, method = "updateByQuery") @UpdateProvider(value = RowSqlProvider.class, method = "updateByQuery")
int updateByQuery(@Param(FlexConsts.TABLE_NAME) String tableName, @Param(FlexConsts.ROW) Row data, @Param(FlexConsts.QUERY) QueryWrapper queryWrapper); int updateByQuery(@Param(FlexConsts.SCHEMA_NAME) String schema,@Param(FlexConsts.TABLE_NAME) String tableName, @Param(FlexConsts.ROW) Row data, @Param(FlexConsts.QUERY) QueryWrapper queryWrapper);
/** /**
@ -179,13 +185,14 @@ public interface RowMapper {
* 1此方法需要在 mysql 等链接配置需要开启 allowMultiQueries=true * 1此方法需要在 mysql 等链接配置需要开启 allowMultiQueries=true
* 2更新成功返回的结果也可能为 0 * 2更新成功返回的结果也可能为 0
* *
* @param schema 模式
* @param tableName 表名 * @param tableName 表名
* @param rows 数据其必须包含主键数据列名和值 * @param rows 数据其必须包含主键数据列名和值
* @return 执行影响的行数 * @return 执行影响的行数
* @see RowSqlProvider#updateBatchById(Map) * @see RowSqlProvider#updateBatchById(Map)
*/ */
@UpdateProvider(value = RowSqlProvider.class, method = "updateBatchById") @UpdateProvider(value = RowSqlProvider.class, method = "updateBatchById")
int updateBatchById(@Param(FlexConsts.TABLE_NAME) String tableName, @Param(FlexConsts.ROWS) List<Row> rows); int updateBatchById(@Param(FlexConsts.SCHEMA_NAME) String schema,@Param(FlexConsts.TABLE_NAME) String tableName, @Param(FlexConsts.ROWS) List<Row> rows);
/** /**
@ -208,7 +215,7 @@ public interface RowMapper {
* @see RowSqlProvider#updateNumberAddByQuery(Map) * @see RowSqlProvider#updateNumberAddByQuery(Map)
*/ */
@UpdateProvider(type = RowSqlProvider.class, method = "updateNumberAddByQuery") @UpdateProvider(type = RowSqlProvider.class, method = "updateNumberAddByQuery")
int updateNumberAddByQuery(@Param(FlexConsts.TABLE_NAME) String tableName, @Param(FlexConsts.FIELD_NAME) String fieldName int updateNumberAddByQuery(@Param(FlexConsts.SCHEMA_NAME) String schema,@Param(FlexConsts.TABLE_NAME) String tableName, @Param(FlexConsts.FIELD_NAME) String fieldName
, @Param(FlexConsts.VALUE) Number value, @Param(FlexConsts.QUERY) QueryWrapper queryWrapper); , @Param(FlexConsts.VALUE) Number value, @Param(FlexConsts.QUERY) QueryWrapper queryWrapper);
@ -237,18 +244,18 @@ public interface RowMapper {
/** /**
* 通过主键来查询数据 * 通过主键来查询数据
* *
* @param schema 模式
* @param tableName 表名 * @param tableName 表名
* @param row 主键和ID的描述通过 {@link Row#ofKey(String, Object)} 来进行构建 * @param row 主键和ID的描述通过 {@link Row#ofKey(String, Object)} 来进行构建
* @return 返回一条数据或者 null * @return 返回一条数据或者 null
*/ */
default Row selectOneById(String tableName, Row row) { default Row selectOneById(String schema,String tableName, Row row) {
return selectOneById(tableName, StringUtil.join(",", row.obtainsPrimaryKeyStrings()), row.obtainsPrimaryValues()); return selectOneById(schema,tableName, StringUtil.join(",", row.obtainsPrimaryKeyStrings()), row.obtainsPrimaryValues());
} }
/** /**
* 根据主键来查询数据 * 根据主键来查询数据
* * @param schema 模式
* @param tableName 表名 * @param tableName 表名
* @param primaryKey 主键 * @param primaryKey 主键
* @param id id * @param id id
@ -256,18 +263,19 @@ public interface RowMapper {
* @see RowSqlProvider#selectOneById(Map) * @see RowSqlProvider#selectOneById(Map)
*/ */
@SelectProvider(value = RowSqlProvider.class, method = "selectOneById") @SelectProvider(value = RowSqlProvider.class, method = "selectOneById")
Row selectOneById(@Param(FlexConsts.TABLE_NAME) String tableName, @Param(FlexConsts.PRIMARY_KEY) String primaryKey, @Param(FlexConsts.PRIMARY_VALUE) Object id); Row selectOneById(@Param(FlexConsts.SCHEMA_NAME) String schema,@Param(FlexConsts.TABLE_NAME) String tableName, @Param(FlexConsts.PRIMARY_KEY) String primaryKey, @Param(FlexConsts.PRIMARY_VALUE) Object id);
/** /**
* 根据 queryWrapper 来查询 1 条数据 * 根据 queryWrapper 来查询 1 条数据
* *
* @param schema 模式
* @param tableName 表名 * @param tableName 表名
* @param queryWrapper queryWrapper * @param queryWrapper queryWrapper
* @return row or null * @return row or null
*/ */
default Row selectOneByQuery(String tableName, QueryWrapper queryWrapper) { default Row selectOneByQuery(String schema,String tableName, QueryWrapper queryWrapper) {
List<Row> rows = selectListByQuery(tableName, queryWrapper.limit(1)); List<Row> rows = selectListByQuery(schema,tableName, queryWrapper.limit(1));
if (rows == null || rows.isEmpty()) { if (rows == null || rows.isEmpty()) {
return null; return null;
} else { } else {
@ -289,23 +297,25 @@ public interface RowMapper {
/** /**
* 根据 queryWrapper 来查询一个 row 列表 * 根据 queryWrapper 来查询一个 row 列表
* *
* @param schema 模式
* @param tableName 表名 * @param tableName 表名
* @param queryWrapper queryWrapper * @param queryWrapper queryWrapper
* @return row 列表 * @return row 列表
* @see RowSqlProvider#selectListByQuery(Map) * @see RowSqlProvider#selectListByQuery(Map)
*/ */
@SelectProvider(value = RowSqlProvider.class, method = "selectListByQuery") @SelectProvider(value = RowSqlProvider.class, method = "selectListByQuery")
List<Row> selectListByQuery(@Param(FlexConsts.TABLE_NAME) String tableName, @Param(FlexConsts.QUERY) QueryWrapper queryWrapper); List<Row> selectListByQuery(@Param(FlexConsts.SCHEMA_NAME) String schema,@Param(FlexConsts.TABLE_NAME) String tableName, @Param(FlexConsts.QUERY) QueryWrapper queryWrapper);
/** /**
* 查询某张表的全部数据 * 查询某张表的全部数据
* *
* @param schema 模式
* @param tableName 表名 * @param tableName 表名
* @return row 列表 * @return row 列表
*/ */
default List<Row> selectAll(String tableName) { default List<Row> selectAll(String schema,String tableName) {
return selectListByQuery(tableName, QueryWrapper.create()); return selectListByQuery(schema,tableName, QueryWrapper.create());
} }
/** /**
@ -354,13 +364,14 @@ public interface RowMapper {
* 根据 queryWrapper 1 条数据 * 根据 queryWrapper 1 条数据
* queryWrapper 执行的结果应该只有 1 例如 QueryWrapper.create().select(ACCOUNT.id).where... * queryWrapper 执行的结果应该只有 1 例如 QueryWrapper.create().select(ACCOUNT.id).where...
* *
* @param schema 模式
* @param tableName 表名 * @param tableName 表名
* @param queryWrapper queryWrapper * @param queryWrapper queryWrapper
* @return 数据 * @return 数据
*/ */
default Object selectObjectByQuery(String tableName, QueryWrapper queryWrapper) { default Object selectObjectByQuery(String schema,String tableName, QueryWrapper queryWrapper) {
queryWrapper.limit(1); queryWrapper.limit(1);
List<Object> objects = selectObjectListByQuery(tableName, queryWrapper); List<Object> objects = selectObjectListByQuery(schema,tableName, queryWrapper);
if (objects == null || objects.isEmpty()) { if (objects == null || objects.isEmpty()) {
return null; return null;
} }
@ -377,23 +388,24 @@ public interface RowMapper {
* @see RowSqlProvider#selectObjectByQuery(Map) * @see RowSqlProvider#selectObjectByQuery(Map)
*/ */
@SelectProvider(type = RowSqlProvider.class, method = "selectObjectByQuery") @SelectProvider(type = RowSqlProvider.class, method = "selectObjectByQuery")
List<Object> selectObjectListByQuery(@Param(FlexConsts.TABLE_NAME) String tableName, @Param(FlexConsts.QUERY) QueryWrapper queryWrapper); List<Object> selectObjectListByQuery(@Param(FlexConsts.SCHEMA_NAME) String schema,@Param(FlexConsts.TABLE_NAME) String tableName, @Param(FlexConsts.QUERY) QueryWrapper queryWrapper);
/** /**
* 查询数据量 * 查询数据量
* *
* @param schema 模式
* @param tableName 表名 * @param tableName 表名
* @param queryWrapper 查询包装器 * @param queryWrapper 查询包装器
* @return 数据量 * @return 数据量
*/ */
default long selectCountByQuery(String tableName, QueryWrapper queryWrapper) { default long selectCountByQuery(String schema,String tableName, QueryWrapper queryWrapper) {
List<QueryColumn> selectColumns = CPI.getSelectColumns(queryWrapper); List<QueryColumn> selectColumns = CPI.getSelectColumns(queryWrapper);
if (CollectionUtil.isEmpty(selectColumns)) { if (CollectionUtil.isEmpty(selectColumns)) {
queryWrapper.select(count()); queryWrapper.select(count());
} }
List<Object> objects = selectObjectListByQuery(tableName, queryWrapper); List<Object> objects = selectObjectListByQuery(schema,tableName, queryWrapper);
Object object = objects == null || objects.isEmpty() ? null : objects.get(0); Object object = objects == null || objects.isEmpty() ? null : objects.get(0);
if (object == null) { if (object == null) {
return 0; return 0;
@ -408,14 +420,15 @@ public interface RowMapper {
/** /**
* 分页查询数据 * 分页查询数据
* *
* @param schema 模式
* @param tableName 表名 * @param tableName 表名
* @param page page 封装类 * @param page page 封装类
* @param queryWrapper 条件 * @param queryWrapper 条件
* @return * @return
*/ */
default Page<Row> paginate(String tableName, Page<Row> page, QueryWrapper queryWrapper) { default Page<Row> paginate(String schema,String tableName, Page<Row> page, QueryWrapper queryWrapper) {
CPI.setFromIfNecessary(queryWrapper, tableName); CPI.setFromIfNecessary(queryWrapper,schema, tableName);
List<QueryColumn> selectColumns = CPI.getSelectColumns(queryWrapper); List<QueryColumn> selectColumns = CPI.getSelectColumns(queryWrapper);
@ -468,7 +481,7 @@ public interface RowMapper {
CPI.setJoins(queryWrapper, null); CPI.setJoins(queryWrapper, null);
} }
long count = selectCountByQuery(tableName, queryWrapper); long count = selectCountByQuery(schema,tableName, queryWrapper);
page.setTotalRow(count); page.setTotalRow(count);
} }
@ -492,7 +505,7 @@ public interface RowMapper {
int offset = page.getPageSize() * (page.getPageNumber() - 1); int offset = page.getPageSize() * (page.getPageNumber() - 1);
queryWrapper.limit(offset, page.getPageSize()); queryWrapper.limit(offset, page.getPageSize());
List<Row> records = selectListByQuery(tableName, queryWrapper); List<Row> records = selectListByQuery(schema,tableName, queryWrapper);
page.setRecords(records); page.setRecords(records);
return page; return page;

View File

@ -42,8 +42,8 @@ public class RowMapperInvoker {
} }
} }
public int insert(String tableName, Row row) { public int insert(String schema,String tableName, Row row) {
return execute(mapper -> mapper.insert(tableName, row)); return execute(mapper -> mapper.insert(schema,tableName, row));
} }
@ -51,29 +51,29 @@ public class RowMapperInvoker {
return execute(mapper -> mapper.insertBySql(sql, args)); return execute(mapper -> mapper.insertBySql(sql, args));
} }
public int insertBatchWithFirstRowColumns(String tableName, List<Row> rows) { public int insertBatchWithFirstRowColumns(String schema,String tableName, List<Row> rows) {
return execute(mapper -> mapper.insertBatchWithFirstRowColumns(tableName, rows)); return execute(mapper -> mapper.insertBatchWithFirstRowColumns(schema,tableName, rows));
} }
public int deleteBySql(String sql, Object... args) { public int deleteBySql(String sql, Object... args) {
return execute(mapper -> mapper.deleteBySql(sql, args)); return execute(mapper -> mapper.deleteBySql(sql, args));
} }
public int deleteById(String tableName, Row row) { public int deleteById(String schema,String tableName, Row row) {
return execute(mapper -> mapper.deleteById(tableName, row)); return execute(mapper -> mapper.deleteById(schema,tableName, row));
} }
public int deleteById(String tableName, String primaryKey, Object id) { public int deleteById(String schema,String tableName, String primaryKey, Object id) {
return execute(mapper -> mapper.deleteById(tableName, primaryKey, id)); return execute(mapper -> mapper.deleteById(schema,tableName, primaryKey, id));
} }
public int deleteBatchByIds(String tableName, String primaryKey, Collection<?> ids) { public int deleteBatchByIds(String schema,String tableName, String primaryKey, Collection<?> ids) {
return execute(mapper -> mapper.deleteBatchByIds(tableName, primaryKey, ids)); return execute(mapper -> mapper.deleteBatchByIds(schema,tableName, primaryKey, ids));
} }
public int deleteByQuery(String tableName, QueryWrapper queryWrapper) { public int deleteByQuery(String schema,String tableName, QueryWrapper queryWrapper) {
return execute(mapper -> mapper.deleteByQuery(tableName, queryWrapper)); return execute(mapper -> mapper.deleteByQuery(schema,tableName, queryWrapper));
} }
public int updateBySql(String sql, Object... args) { public int updateBySql(String sql, Object... args) {
@ -115,52 +115,52 @@ public class RowMapperInvoker {
return results; return results;
} }
public int updateById(String tableName, Row row) { public int updateById(String schema,String tableName, Row row) {
return execute(mapper -> mapper.updateById(tableName, row)); return execute(mapper -> mapper.updateById(schema,tableName, row));
} }
public int updateByQuery(String tableName, Row data, QueryWrapper queryWrapper) { public int updateByQuery(String schema,String tableName, Row data, QueryWrapper queryWrapper) {
return execute(mapper -> mapper.updateByQuery(tableName, data, queryWrapper)); return execute(mapper -> mapper.updateByQuery(schema,tableName, data, queryWrapper));
} }
public int updateBatchById(String tableName, List<Row> rows) { public int updateBatchById(String schema,String tableName, List<Row> rows) {
return execute(mapper -> mapper.updateBatchById(tableName, rows)); return execute(mapper -> mapper.updateBatchById(schema,tableName, rows));
} }
public Row selectOneBySql(String sql, Object... args) { public Row selectOneBySql(String sql, Object... args) {
return execute(mapper -> mapper.selectOneBySql(sql, args)); return execute(mapper -> mapper.selectOneBySql(sql, args));
} }
public Row selectOneById(String tableName, Row row) { public Row selectOneById(String schema,String tableName, Row row) {
return execute(mapper -> mapper.selectOneById(tableName, row)); return execute(mapper -> mapper.selectOneById(schema,tableName, row));
} }
public Row selectOneById(String tableName, String primaryKey, Object id) { public Row selectOneById(String schema,String tableName, String primaryKey, Object id) {
return execute(mapper -> mapper.selectOneById(tableName, primaryKey, id)); return execute(mapper -> mapper.selectOneById(schema,tableName, primaryKey, id));
} }
public Row selectOneByQuery(String tableName, QueryWrapper queryWrapper) { public Row selectOneByQuery(String schema,String tableName, QueryWrapper queryWrapper) {
return execute(mapper -> mapper.selectOneByQuery(tableName, queryWrapper)); return execute(mapper -> mapper.selectOneByQuery(schema,tableName, queryWrapper));
} }
public List<Row> selectListBySql(String sql, Object... args) { public List<Row> selectListBySql(String sql, Object... args) {
return execute(mapper -> mapper.selectListBySql(sql, args)); return execute(mapper -> mapper.selectListBySql(sql, args));
} }
public List<Row> selectListByQuery(String tableName, QueryWrapper queryWrapper) { public List<Row> selectListByQuery(String schema,String tableName, QueryWrapper queryWrapper) {
return execute(mapper -> mapper.selectListByQuery(tableName, queryWrapper)); return execute(mapper -> mapper.selectListByQuery(schema,tableName, queryWrapper));
} }
public List<Row> selectAll(String tableName) { public List<Row> selectAll(String schema,String tableName) {
return execute(mapper -> mapper.selectAll(tableName)); return execute(mapper -> mapper.selectAll(schema,tableName));
} }
public Object selectObjectByQuery(String tableName, QueryWrapper queryWrapper) { public Object selectObjectByQuery(String schema,String tableName, QueryWrapper queryWrapper) {
return execute(mapper -> mapper.selectObjectByQuery(tableName, queryWrapper)); return execute(mapper -> mapper.selectObjectByQuery(schema,tableName, queryWrapper));
} }
public List<Object> selectObjectListByQuery(String tableName, QueryWrapper queryWrapper) { public List<Object> selectObjectListByQuery(String schema,String tableName, QueryWrapper queryWrapper) {
return execute(mapper -> mapper.selectObjectListByQuery(tableName, queryWrapper)); return execute(mapper -> mapper.selectObjectListByQuery(schema,tableName, queryWrapper));
} }
public Object selectObject(String sql, Object... args) { public Object selectObject(String sql, Object... args) {
@ -176,16 +176,16 @@ public class RowMapperInvoker {
} }
public long selectCountByQuery(String tableName, QueryWrapper queryWrapper) { public long selectCountByQuery(String schema,String tableName, QueryWrapper queryWrapper) {
return execute(mapper -> mapper.selectCountByQuery(tableName, queryWrapper)); return execute(mapper -> mapper.selectCountByQuery(schema,tableName, queryWrapper));
} }
public Page<Row> paginate(String tableName, Page<Row> page, QueryWrapper queryWrapper) { public Page<Row> paginate(String schema,String tableName, Page<Row> page, QueryWrapper queryWrapper) {
return execute(mapper -> mapper.paginate(tableName, page, queryWrapper)); return execute(mapper -> mapper.paginate(schema,tableName, page, queryWrapper));
} }
public int updateNumberAddByQuery(String tableName, String fieldName, Number value, QueryWrapper queryWrapper) { public int updateNumberAddByQuery(String schema,String tableName, String fieldName, Number value, QueryWrapper queryWrapper) {
return execute(mapper -> mapper.updateNumberAddByQuery(tableName, fieldName, value, queryWrapper)); return execute(mapper -> mapper.updateNumberAddByQuery(schema,tableName, fieldName, value, queryWrapper));
} }
} }

View File

@ -37,11 +37,11 @@ public class DbTestStarter {
.setDataSource(dataSource) .setDataSource(dataSource)
.start(); .start();
Row row1 = Db.selectOneById("tb_account", "id", 1); Row row1 = Db.selectOneById(null,"tb_account", "id", 1);
RowUtil.printPretty(row1); RowUtil.printPretty(row1);
//查询全部 //查询全部
List<Row> rows = Db.selectAll("tb_account"); List<Row> rows = Db.selectAll(null,"tb_account");
RowUtil.printPretty(rows); RowUtil.printPretty(rows);
@ -53,7 +53,7 @@ public class DbTestStarter {
row.set("user_name", "michael yang"); row.set("user_name", "michael yang");
row.set("age", 18); row.set("age", 18);
row.set("birthday", new Date()); row.set("birthday", new Date());
Db.insert("tb_account", row); Db.insert(null,"tb_account", row);
//查看刚刚插入数据的主键 id //查看刚刚插入数据的主键 id
System.out.println(">>>>>>>>>id: " + row.get("id")); System.out.println(">>>>>>>>>id: " + row.get("id"));
@ -79,7 +79,7 @@ public class DbTestStarter {
//再次查询全部数据 //再次查询全部数据
rows = Db.selectAll("tb_account"); rows = Db.selectAll(null,"tb_account");
RowUtil.printPretty(rows); RowUtil.printPretty(rows);
// for (Row row2 : rows) { // for (Row row2 : rows) {
@ -96,10 +96,10 @@ public class DbTestStarter {
r.prepareAttrsByKeySet(); r.prepareAttrsByKeySet();
r.setPrimaryKeys(RowKey.AUTO); r.setPrimaryKeys(RowKey.AUTO);
}); });
Db.insertBatch("tb_account", rows, 100); Db.insertBatch(null,"tb_account", rows, 100);
//再次查询全部数据 //再次查询全部数据
rows = Db.selectAll("tb_account"); rows = Db.selectAll(null,"tb_account");
RowUtil.printPretty(rows); RowUtil.printPretty(rows);
} }
} }

View File

@ -61,7 +61,7 @@ public class MultiDataSourceTester {
//默认查询 db1 //默认查询 db1
System.out.println("\n------ds1"); System.out.println("\n------ds1");
List<Row> rows1 = Db.selectAll("tb_account"); List<Row> rows1 = Db.selectAll(null,"tb_account");
RowUtil.printPretty(rows1); RowUtil.printPretty(rows1);
@ -74,7 +74,7 @@ public class MultiDataSourceTester {
// //查询数据源 ds2 // //查询数据源 ds2
System.out.println("\n------ds2"); System.out.println("\n------ds2");
DataSourceKey.use("ds2"); DataSourceKey.use("ds2");
List<Row> rows = Db.selectAll("tb_account"); List<Row> rows = Db.selectAll(null,"tb_account");
RowUtil.printPretty(rows); RowUtil.printPretty(rows);
// //
// boolean success = Db.tx(() -> { // boolean success = Db.tx(() -> {

View File

@ -50,7 +50,7 @@ public class RowTestStarter {
AuditManager.setAuditEnable(true); AuditManager.setAuditEnable(true);
AuditManager.setMessageCollector(new ConsoleMessageCollector()); AuditManager.setMessageCollector(new ConsoleMessageCollector());
Page<Row> rowPage = Db.paginate("tb_account", 1, 10, QueryWrapper.create().hint("USE_MERGE")); Page<Row> rowPage = Db.paginate("flex","tb_account", 1, 10, QueryWrapper.create().hint("USE_MERGE"));
System.out.println(rowPage); System.out.println(rowPage);
@ -83,13 +83,13 @@ public class RowTestStarter {
rowList.add(row); rowList.add(row);
} }
Db.insertBatch("tb_account",rowList); Db.insertBatch(null,"tb_account",rowList);
for (Row row : rowList) { for (Row row : rowList) {
System.out.println(">>>>>>>id: " + row.get("id")); System.out.println(">>>>>>>id: " + row.get("id"));
} }
List<Row> rows1 = Db.selectAll("tb_account"); List<Row> rows1 = Db.selectAll(null,"tb_account");
RowUtil.printPretty(rows1); RowUtil.printPretty(rows1);
// //新增一条数据自增 // //新增一条数据自增

View File

@ -73,10 +73,10 @@ public class AccountController {
// account.setUserName("heihei"); // account.setUserName("heihei");
// accountMapper.update(account); // accountMapper.update(account);
Row row1 = Db.selectOneById("tb_account", "id", 1); Row row1 = Db.selectOneById(null,"tb_account", "id", 1);
System.out.println(">>>>>>> row1: " + row1); System.out.println(">>>>>>> row1: " + row1);
Row row2 = Db.selectOneById("tb_account", "id", 2); Row row2 = Db.selectOneById(null,"tb_account", "id", 2);
System.out.println(">>>>>>> row2: " + row2); System.out.println(">>>>>>> row2: " + row2);
// Account account1 = accountMapper.selectOneById(1L); // Account account1 = accountMapper.selectOneById(1L);

View File

@ -41,7 +41,7 @@ public class AccountTest implements WithAssertions {
@Test @Test
public void testSelectOneByRow() { public void testSelectOneByRow() {
Row row = Db.selectOneById("tb_account", "id", 1); Row row = Db.selectOneById(null,"tb_account", "id", 1);
System.out.println(row); System.out.println(row);
} }