public class DbBase extends Object
Constructor and Description |
---|
DbBase() |
Modifier and Type | Method and Description |
---|---|
void |
aopAfter(String[] tableNames,
com.alibaba.fastjson.JSONObject resultJson)
动作执行后(这是一个不适用于业务中调用的方法,请忽略)
|
protected void |
aopAfter(String sql,
String tableName,
com.alibaba.fastjson.JSONObject resultJson)
动作执行后
|
protected void |
aopAfter(String sql,
String tableName,
com.alibaba.fastjson.JSONObject[] resultJsons)
动作执行后
|
protected void |
aopBefore(String sql,
String tableName,
com.alibaba.fastjson.JSONObject paramJson)
动作执行前
|
protected void |
aopBefore(String sql,
String tableName,
com.alibaba.fastjson.JSONObject[] paramJsons)
动作执行前
|
protected void |
audit(String tableName,
com.alibaba.fastjson.JSONObject paramJson) |
protected String[] |
extractTables(String sql) |
DataSource |
getDataSource()
获得数据源
|
String |
getDeleteWhereSql() |
JdbcProperties |
getJdbcProperties() |
org.springframework.jdbc.core.JdbcTemplate |
getJdbcTemplate() |
org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate |
getNamedParameterJdbcTemplate() |
<T> org.springframework.jdbc.core.RowMapper<T> |
getRowMapper(Class<T> mappedClass,
DbBase dbBase,
String... tableNames) |
boolean |
isDataSize(long dataSize)
Deprecated.
请自行条件判断
|
boolean |
isUpdateAndExpectedEqual(long updateRowsNumber,
int expectedValue)
判断更新所影响的行数是否 等于 预期值
|
boolean |
isUpdateAndExpectedGreaterThanEqual(long updateRowsNumber,
int expectedValue)
判断更新所影响的行数是否 大于等于 预期值
|
<T> T |
listResultToGetResult(List<T> list)
多行查询结果转换为单行查询结果
|
void |
paramFormat(com.alibaba.fastjson.JSONObject paramJson)
参数美化(对SpringJDBC不支持的类型进行转换与布尔值映射识别)
|
String |
paramToWhereSql(com.alibaba.fastjson.JSONObject paramJson)
绝对条件查询参数whereSql化
|
String |
paramToWhereSql(com.alibaba.fastjson.JSONObject paramJson,
String... conditions)
绝对条件查询参数whereSql化
|
protected void |
paramValidate(String tableName)
参数验证
|
protected void |
paramValidate(String tableName,
com.alibaba.fastjson.JSONObject paramJson)
参数验证
|
protected void |
paramValidate(String tableName,
com.alibaba.fastjson.JSONObject[] paramJsons)
参数验证
|
protected void |
paramValidate(String tableName,
com.alibaba.fastjson.JSONObject paramJson,
String[] conditions)
参数验证
|
protected void |
paramValidate(String tableName,
Long id)
参数验证
|
protected void |
paramValidate(String tableName,
Long id,
String[] fieldName)
参数验证
|
protected void |
paramValidate(String tableName,
String... columnNames)
参数验证
|
protected void |
paramValidate(String tableName,
String whereSql)
参数验证
|
com.alibaba.fastjson.JSONObject |
queryForJson(String sql,
com.alibaba.fastjson.JSONObject paramJson)
查询一行数据
|
List<com.alibaba.fastjson.JSONObject> |
queryForList(String sql,
com.alibaba.fastjson.JSONObject paramJson)
查询多行数据
|
<T> List<T> |
queryForList(String sql,
com.alibaba.fastjson.JSONObject paramJson,
Class<T> mappedClass)
查询多行数据
|
<T> T |
queryForObject(String sql,
com.alibaba.fastjson.JSONObject paramJson,
Class<T> mappedClass)
查询一行数据
|
org.springframework.jdbc.support.rowset.SqlRowSet |
queryForRowSet(String sql,
com.alibaba.fastjson.JSONObject paramJson)
查询多行数据
|
com.alibaba.fastjson.JSONObject |
resultToJson(List<com.alibaba.fastjson.JSONObject> list)
Deprecated.
|
<T> T |
resultToObject(List<T> list)
Deprecated.
|
void |
setDataSource(DataSource dataSource)
设置数据源
|
void |
updateAndExpectedEqual(long updateRowsNumber,
int expectedValue)
判断更新所影响的行数是否 等于 预期值
|
void |
updateAndExpectedGreaterThanEqual(long updateRowsNumber,
int expectedValue)
判断更新所影响的行数是否 大于等于 预期值
|
void |
updateBatchAndExpectedEqual(int[] updateRowsNumberArray,
int expectedValue)
确认批量更新每组参数所影响的行数,是否 全部都等于 同一个预期值
|
protected Dialect dialect
public DataSource getDataSource()
public void setDataSource(DataSource dataSource)
dataSource
- 数据源public org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate getNamedParameterJdbcTemplate()
public org.springframework.jdbc.core.JdbcTemplate getJdbcTemplate()
public JdbcProperties getJdbcProperties()
public <T> org.springframework.jdbc.core.RowMapper<T> getRowMapper(Class<T> mappedClass, DbBase dbBase, String... tableNames)
public <T> T listResultToGetResult(List<T> list)
为 queryForObject(String, JSONObject, Class) 提供安全的查询结果获取
为 queryForJson(String, JSONObject) 提供安全的查询结果获取
list
- 多行查询结果@Deprecated public com.alibaba.fastjson.JSONObject resultToJson(List<com.alibaba.fastjson.JSONObject> list)
list
- queryForList(String, JSONObject) 查询结果@Deprecated public <T> T resultToObject(List<T> list)
T
- 泛型list
- queryForList(String, JSONObject, Class) 查询结果public com.alibaba.fastjson.JSONObject queryForJson(String sql, com.alibaba.fastjson.JSONObject paramJson)
对 NamedParameterJdbcTemplate.queryForMap(String, Map) 方法的优化实现
sql
- 要执行的SQL查询paramJson
- 要绑定到查询的参数映射public <T> T queryForObject(String sql, com.alibaba.fastjson.JSONObject paramJson, Class<T> mappedClass)
对 NamedParameterJdbcTemplate.queryForObject(String, Map, org.springframework.jdbc.core.RowMapper) 方法的优化实现
sql
- 要执行的SQL查询paramJson
- 要绑定到查询的参数映射mappedClass
- 查询结果映射类型,支持JavaBean与简单类型(如:Long, String, Boolean)public org.springframework.jdbc.support.rowset.SqlRowSet queryForRowSet(String sql, com.alibaba.fastjson.JSONObject paramJson)
同 NamedParameterJdbcTemplate.queryForRowSet(String, Map)
不支持数据自动解密
sql
- 要执行的SQL查询paramJson
- 要绑定到查询的参数映射public List<com.alibaba.fastjson.JSONObject> queryForList(String sql, com.alibaba.fastjson.JSONObject paramJson)
对 NamedParameterJdbcTemplate.queryForList(String, Map)
方法的优化实现
sql
- 要执行的查询SQLparamJson
- 要绑定到查询的参数映射public <T> List<T> queryForList(String sql, com.alibaba.fastjson.JSONObject paramJson, Class<T> mappedClass)
对 NamedParameterJdbcTemplate.queryForList(String, Map, Class) 方法的优化实现
sql
- 要执行的查询SQLparamJson
- 要绑定到查询的参数映射mappedClass
- 查询结果映射类型,支持JavaBean与简单类型(如:Long, String, Boolean)@Deprecated public boolean isDataSize(long dataSize)
dataSize
- 数据大小public boolean isUpdateAndExpectedEqual(long updateRowsNumber, int expectedValue)
若不是预期值,同时 updateRowsNumber > 0 那么将会抛出一个 DbException
updateRowsNumber
- 更新所影响的行数expectedValue
- 预期值public boolean isUpdateAndExpectedGreaterThanEqual(long updateRowsNumber, int expectedValue)
若不是预期结果,同时 updateRowsNumber < expectedValue 那么将会抛出一个DbException
updateRowsNumber
- 更新所影响的行数expectedValue
- 预期值public void updateAndExpectedEqual(long updateRowsNumber, int expectedValue)
若不是预期值,那么将会抛出一个DbException
updateRowsNumber
- 更新所影响的行数expectedValue
- 预期值public void updateAndExpectedGreaterThanEqual(long updateRowsNumber, int expectedValue)
若不是预期结果,那么将会抛出一个DbException
updateRowsNumber
- 更新所影响的行数expectedValue
- 预期值public void updateBatchAndExpectedEqual(int[] updateRowsNumberArray, int expectedValue)
若不是预期值,那么将会抛出一个DbException
updateRowsNumberArray
- 每组参数更新所影响的行数数组expectedValue
- 预期值public String paramToWhereSql(com.alibaba.fastjson.JSONObject paramJson, String... conditions)
已对 NULL 值进行特殊处理(IS NULL)
已对 List 类型值进行特殊处理(IN (?, ?))
结果示例:
WHERE 1 = 1
AND
param1 = :param1
AND
param2 IS NULL :param2
AND
param3 IN :param3
AND ...
paramJson
- 参数conditions
- where条件(对应paramJson key)public String paramToWhereSql(com.alibaba.fastjson.JSONObject paramJson)
已对 NULL 值进行特殊处理(IS NULL)
已对 List 类型值进行特殊处理(IN (?, ?))
结果示例:
WHERE 1 = 1
AND
param1 = :param1
AND
param2 IS NULL :param2
AND
param3 IN :param3
AND ...
paramJson
- 参数public String getDeleteWhereSql()
protected void paramValidate(String tableName)
tableName
- 表名protected void paramValidate(String tableName, String whereSql)
tableName
- 表名whereSql
- 条件sqlprotected void paramValidate(String tableName, Long id)
tableName
- 表名id
- 主键IDprotected void paramValidate(String tableName, String... columnNames)
tableName
- 表名columnNames
- 列名protected void paramValidate(String tableName, Long id, String[] fieldName)
tableName
- 表名id
- 主键IDfieldName
- 字段名称protected void paramValidate(String tableName, com.alibaba.fastjson.JSONObject paramJson)
tableName
- 表名paramJson
- 参数protected void paramValidate(String tableName, com.alibaba.fastjson.JSONObject[] paramJsons)
tableName
- 表名paramJsons
- 参数数组protected void paramValidate(String tableName, com.alibaba.fastjson.JSONObject paramJson, String[] conditions)
tableName
- 表名paramJson
- 参数conditions
- 条件(对应paramJson key)public void paramFormat(com.alibaba.fastjson.JSONObject paramJson)
Character 转 String
JSONObject 转 JsonString
LocalDataTime 转 Date
paramJson
- 需要进行类型处理的paramJsonprotected void aopBefore(@Nullable String sql, @Nullable String tableName, @Nullable com.alibaba.fastjson.JSONObject paramJson)
tableName
- 表名paramJson
- 参数protected void aopBefore(@Nullable String sql, @Nullable String tableName, @Nullable com.alibaba.fastjson.JSONObject[] paramJsons)
tableName
- 表名paramJsons
- 参数public void aopAfter(String[] tableNames, com.alibaba.fastjson.JSONObject resultJson)
tableNames
- 表名resultJson
- 单行结果数据protected void aopAfter(@Nullable String sql, @Nullable String tableName, @Nullable com.alibaba.fastjson.JSONObject resultJson)
tableName
- 表名resultJson
- 单行结果数据protected void aopAfter(@Nullable String sql, @Nullable String tableName, @Nullable com.alibaba.fastjson.JSONObject[] resultJsons)
tableName
- 表名resultJsons
- 多行结果数据protected void audit(String tableName, com.alibaba.fastjson.JSONObject paramJson)
Copyright © 2022 Pivotal Software, Inc.. All rights reserved.