public abstract class BaseDAO extends Object
| 限定符和类型 | 字段和说明 |
|---|---|
protected boolean |
isInit |
protected org.apache.log4j.Logger |
logger |
protected static String |
SQL_SHOW_TABLES |
protected static String |
TABLE_NAME_SEPARATOR |
| 构造器和说明 |
|---|
BaseDAO() |
BaseDAO(DataSource dataSource) |
| 限定符和类型 | 方法和说明 |
|---|---|
protected abstract String |
buildTableName(String tableNamePrefix)
这个方法主要获取表名,由于有些业务表需要使用日期作为后缀,所以实现
getBuildTableSql(String)方法时,应该调用这个方法获取表名 |
protected boolean |
checkTableExists(String tableName)
检查表是否存在
|
protected void |
createTable(String tableName)
创建表,如果表已经存在了,则会
|
protected abstract String |
getBuildTableSql(String tableName)
获取DAO的建表语句,其中table name需要使用$tableName,作为占位符号,方法实现时,表明的获取应该使用
buildTableName(String)方法 |
DataSource |
getDataSource() |
protected org.springframework.jdbc.core.JdbcTemplate |
getJdbcTemplate()
如果没有设置dataSource参数,则会报参数错误异常
|
protected abstract String |
getTableName() |
void |
init()
初始化DAO,必要的参数,dataSource和tableName需要设置,首先检查表是否存在,如果不存在则会创建
|
protected void |
save(IJdbcTemplateCallback callback,
Object... args)
这个方法专门保存业务数据,其中当表不存在时,他会自动创建表,callback中处理具体的保存逻辑
|
void |
setDataSource(DataSource dataSource) |
protected final org.apache.log4j.Logger logger
protected volatile boolean isInit
public BaseDAO()
public BaseDAO(DataSource dataSource)
@PostConstruct public void init()
protected boolean checkTableExists(String tableName)
tableName - protected void createTable(String tableName)
tableName - protected abstract String getBuildTableSql(String tableName)
buildTableName(String)方法protected abstract String getTableName()
protected void save(IJdbcTemplateCallback callback, Object... args)
callback - args - protected abstract String buildTableName(String tableNamePrefix)
getBuildTableSql(String)方法时,应该调用这个方法获取表名tableNamePrefix - public DataSource getDataSource()
public void setDataSource(DataSource dataSource)
protected org.springframework.jdbc.core.JdbcTemplate getJdbcTemplate()
Copyright © 2018 Jue Ming. All rights reserved.