public abstract class BaseDaoImpl<T extends Serializable,PK extends Serializable> extends Object
| 限定符和类型 | 字段和说明 |
|---|---|
protected Map<String,String> |
filterField |
protected org.springframework.jdbc.core.JdbcTemplate |
jdbcTemplate |
protected static org.slf4j.Logger |
logger |
| 构造器和说明 |
|---|
BaseDaoImpl() |
| 限定符和类型 | 方法和说明 |
|---|---|
String |
buildDefaultFieldFilterSql() |
String |
buildFieldFilterSql(String alias,
boolean useDefaultFilter)
每个dao都需要重载这个函数已获得自定义的查询条件,否则listObjects、pageQuery就等价与listObjectsByProperties
根据 getFilterField 中的内容初始化
|
void |
deleteObject(T o) |
void |
deleteObjectById(Object id) |
void |
deleteObjectForce(T o) |
void |
deleteObjectForceById(Object id) |
void |
deleteObjectsByProperties(Map<String,Object> filterMap) |
void |
deleteObjectsForceByProperties(Map<String,Object> filterMap) |
boolean |
enableDefaultFilter()
是否为每一个没有配置 filterField 配置过滤条件的属性自动配置一个 equal 类型的过滤条件
|
String |
encapsulateFilterToSql(String filterQuery) |
T |
fetchObjectLazyColumn(T o,
String columnName) |
T |
fetchObjectLazyColumns(T o) |
T |
fetchObjectReference(T object,
String columnName) |
T |
fetchObjectReferences(T o) |
static String |
fetchSelfOrderSql(String querySql,
Map<String,Object> filterMap)
querySql 用户检查order by 中的字段属性 对应的查询标识 比如,
select a+b as ab from table
在 filterMap 中的 CodeBook.TABLE_SORT_FIELD (sort) 为 ab 字段 返回的排序语句为 a+b
|
Connection |
getConnection()
Get a JDBC Connection, either from the current transaction or a new one.
|
DataSource |
getDataSource()
获取数据源 这个一般不要使用
|
String |
getExtendFilterQuerySql()
可以在外部注入查询语句来屏蔽内部标量getFilterField中定义的查询语句
|
abstract Map<String,String> |
getFilterField()
每个dao都要初始化filterField这个对象,在 getFilterField 初始化,并且返回
|
static Map<String,org.apache.commons.lang3.tuple.Pair<String,String>> |
getFilterFieldWithPretreatment(Map<String,String> fieldMap) |
String |
getFilterQuerySql() |
org.springframework.jdbc.core.JdbcTemplate |
getJdbcTemplate()
获取spring jdbc 的 jdbcTemplate
|
T |
getObjectById(Object id) |
T |
getObjectByProperties(Map<String,Object> properties) |
T |
getObjectIncludeLazyById(Object id) |
T |
getObjectWithReferences(Object id) |
Class<?> |
getPkClass() |
Class<?> |
getPoClass() |
List<T> |
listObjects()
查询所有数据
|
List<T> |
listObjects(Map<String,Object> filterMap)
根据设定的条件查询数据对象
|
com.alibaba.fastjson.JSONArray |
listObjectsAsJson(Map<String,Object> filterMap,
Collection<String> filters,
com.centit.support.database.utils.PageDesc pageDesc)
根据 前端传入的参数 驱动查询
|
com.alibaba.fastjson.JSONArray |
listObjectsAsJson(Map<String,Object> filterMap,
com.centit.support.database.utils.PageDesc pageDesc) |
List<T> |
listObjectsByFilter(String whereSql,
Map<String,Object> namedParams)
根据条件查询对象
|
List<T> |
listObjectsByFilter(String whereSql,
Map<String,Object> namedParams,
com.centit.support.database.utils.PageDesc pageDesc)
已过时。
|
List<T> |
listObjectsByFilter(String whereSql,
Object[] params)
根据条件查询对象
|
List<T> |
listObjectsByFilter(String whereSql,
Object[] params,
com.centit.support.database.utils.PageDesc pageDesc)
已过时。
|
com.alibaba.fastjson.JSONArray |
listObjectsByFilterAsJson(String whereSql,
Map<String,Object> namedParams,
com.centit.support.database.utils.PageDesc pageDesc) |
com.alibaba.fastjson.JSONArray |
listObjectsByFilterAsJson(String whereSql,
Object[] params,
com.centit.support.database.utils.PageDesc pageDesc) |
List<T> |
listObjectsByProperties(Map<String,Object> propertiesMap) |
List<T> |
listObjectsByProperties(Map<String,Object> filterMap,
com.centit.support.database.utils.PageDesc pageDesc) |
List<T> |
listObjectsByProperty(String propertyName,
Object propertyValue) |
List<T> |
listObjectsBySql(String querySql,
Map<String,Object> namedParams) |
void |
mergeObject(T o) |
int |
pageCount(Map<String,Object> filterMap)
已过时。
|
List<T> |
pageQuery(Map<String,Object> filterMap)
已过时。
|
protected static org.apache.commons.lang3.tuple.ImmutablePair<String,String> |
parseParameter(String sParameter)
分析参数,这个主要用于解释,分析参数前面括号中的预处理标识
|
void |
releaseConnection(Connection con)
Close the given JDBC Connection, created via this DAO's DataSource,
if it isn't bound to the thread.
|
void |
saveNewObject(T o) |
Integer |
saveObjectReference(T object,
String columnName) |
Integer |
saveObjectReferences(T o) |
void |
setDataSource(DataSource dataSource)
Set the JDBC DataSource to obtain connections from.
|
static String |
translatePropertyNameToColumnName(com.centit.support.database.orm.TableMapInfo mapInfo,
String sql,
String alias) |
void |
updateObject(Collection<String> fields,
T object)
只更改对象的部分属性
|
void |
updateObject(String[] fields,
T object)
只更改对象的部分属性
|
void |
updateObject(T o) |
protected static org.slf4j.Logger logger
protected org.springframework.jdbc.core.JdbcTemplate jdbcTemplate
public void setDataSource(DataSource dataSource)
dataSource - 数据源public org.springframework.jdbc.core.JdbcTemplate getJdbcTemplate()
public DataSource getDataSource()
public Connection getConnection() throws org.springframework.jdbc.CannotGetJdbcConnectionException
org.springframework.jdbc.CannotGetJdbcConnectionException - if the attempt to get a Connection failedDataSourceUtils.getConnection(javax.sql.DataSource)public void releaseConnection(Connection con)
con - Connection to closeDataSourceUtils.releaseConnection(java.sql.Connection, javax.sql.DataSource)public Class<?> getPoClass()
public Class<?> getPkClass()
public String getExtendFilterQuerySql()
protected static org.apache.commons.lang3.tuple.ImmutablePair<String,String> parseParameter(String sParameter)
sParameter - 传入的参数public static Map<String,org.apache.commons.lang3.tuple.Pair<String,String>> getFilterFieldWithPretreatment(Map<String,String> fieldMap)
public static String translatePropertyNameToColumnName(com.centit.support.database.orm.TableMapInfo mapInfo, String sql, String alias)
public String buildFieldFilterSql(String alias, boolean useDefaultFilter)
alias - 数据库表别名useDefaultFilter - 使用默认过滤器public abstract Map<String,String> getFilterField()
public boolean enableDefaultFilter()
public String buildDefaultFieldFilterSql()
public String getFilterQuerySql()
public void saveNewObject(T o)
public void deleteObjectForce(T o)
public void deleteObjectForceById(Object id)
public void deleteObjectsForceByProperties(Map<String,Object> filterMap)
public void deleteObject(T o)
public void deleteObjectById(Object id)
public void updateObject(T o)
public void updateObject(Collection<String> fields, T object) throws com.centit.support.database.utils.PersistenceException
fields - 需要修改的部分属性object - 除了对应修改的属性 需要有相应的值,主键对应的属性也必须要值com.centit.support.database.utils.PersistenceException - 运行时异常public void updateObject(String[] fields, T object) throws com.centit.support.database.utils.PersistenceException
fields - 需要修改的部分属性object - 除了对应修改的属性 需要有相应的值,主键对应的属性也必须要值com.centit.support.database.utils.PersistenceException - 运行时异常public void mergeObject(T o)
public List<T> listObjectsByProperty(String propertyName, Object propertyValue)
public List<T> listObjectsByProperties(Map<String,Object> filterMap, com.centit.support.database.utils.PageDesc pageDesc)
@Deprecated public int pageCount(Map<String,Object> filterMap)
filterMap - 过滤条件@Deprecated public List<T> pageQuery(Map<String,Object> filterMap)
filterMap - 过滤条件public List<T> listObjects(Map<String,Object> filterMap)
filterMap - 过滤条件public List<T> listObjectsByFilter(String whereSql, Object[] params)
whereSql - 只有 where 部分, 不能有from部分 这个式hibernate的区别params - 参数public List<T> listObjectsByFilter(String whereSql, Map<String,Object> namedParams)
whereSql - 只有 where 部分, 不能有from部分 这个式hibernate的区别namedParams - 命名参数@Deprecated public List<T> listObjectsByFilter(String whereSql, Object[] params, com.centit.support.database.utils.PageDesc pageDesc)
whereSql - 查询po 所以只有套写 where 以后部分params - 查询参数pageDesc - 分页信息@Deprecated public List<T> listObjectsByFilter(String whereSql, Map<String,Object> namedParams, com.centit.support.database.utils.PageDesc pageDesc)
whereSql - 查询po 所以只有套写 where 以后部分namedParams - 查询参数pageDesc - 分页信息public static String fetchSelfOrderSql(String querySql, Map<String,Object> filterMap)
querySql - SQL语句 用来检查字段对应的查询语句 片段filterMap - 查询条件map其中包含排序属性public com.alibaba.fastjson.JSONArray listObjectsAsJson(Map<String,Object> filterMap, Collection<String> filters, com.centit.support.database.utils.PageDesc pageDesc)
filterMap - 前端输入的过滤条件,包括用户的基本信息(这个小service注入,主要用于数据权限的过滤)filters - 数据权限顾虑语句pageDesc - 分页信息public com.alibaba.fastjson.JSONArray listObjectsAsJson(Map<String,Object> filterMap, com.centit.support.database.utils.PageDesc pageDesc)
public com.alibaba.fastjson.JSONArray listObjectsByFilterAsJson(String whereSql, Map<String,Object> namedParams, com.centit.support.database.utils.PageDesc pageDesc)
whereSql - 查询po 所以只有套写 where 以后部分namedParams - 查询参数pageDesc - 分页信息Copyright © 2018 江苏南大先腾信息产业股份有限公司. All rights reserved.