Package me.danwi.sqlex.core
Class DaoFactory
- java.lang.Object
-
- me.danwi.sqlex.core.DaoFactory
-
- Direct Known Subclasses:
SpringDaoFactory
public class DaoFactory extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description DaoFactory(java.lang.String url, java.lang.String username, java.lang.String password, java.lang.Class<? extends RepositoryLike> repository)新建数据访问对象工厂实例DaoFactory(javax.sql.DataSource dataSource, java.lang.Class<? extends RepositoryLike> repository)新建数据访问对象工厂实例,使用默认事务管理器DaoFactory(TransactionManager transactionManager, java.lang.Class<? extends RepositoryLike> repository, ExceptionTranslator exceptionTranslator)使用指定的事务管理器来新建数据访问对象工厂实例
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcheck()检查数据结构ExceptionTranslatorgetExceptionTranslator()获取异常转换/翻译器<T> TgetInstance(java.lang.Class<T> clazz)获取数据访问对象/表操作对象的实例java.lang.Class<?>getRepositoryClass()获取该Dao工厂做管理的SqlEx Repositoryvoidmigrate()迁移数据版本java.sql.ConnectionnewConnection()新建连接TransactionnewTransaction()新建事务,适合手动管理事务<T> Ttransaction(java.lang.Integer transactionIsolationLevel, TransactionAction<T> action)以事务的方式来运行函数voidtransaction(java.lang.Integer transactionIsolationLevel, TransactionActionReturnVoid action)以事务的方式来运行函数,函数无返回值<T> Ttransaction(TransactionAction<T> action)以事务的方式来运行函数 使用默认事务隔离级别voidtransaction(TransactionActionReturnVoid action)以事务的方式来运行函数,函数无返回值 使用默认事务隔离级别
-
-
-
Constructor Detail
-
DaoFactory
public DaoFactory(java.lang.String url, java.lang.String username, java.lang.String password, java.lang.Class<? extends RepositoryLike> repository)新建数据访问对象工厂实例- Parameters:
url- 连接username- 用户名password- 密码repository- SqlEx Repository
-
DaoFactory
public DaoFactory(javax.sql.DataSource dataSource, java.lang.Class<? extends RepositoryLike> repository)新建数据访问对象工厂实例,使用默认事务管理器- Parameters:
dataSource- 数据源repository- SqlEx Repository
-
DaoFactory
public DaoFactory(TransactionManager transactionManager, java.lang.Class<? extends RepositoryLike> repository, ExceptionTranslator exceptionTranslator)
使用指定的事务管理器来新建数据访问对象工厂实例- Parameters:
transactionManager- 事务管理器repository- SqlEx RepositoryexceptionTranslator- 异常翻译
-
-
Method Detail
-
newTransaction
public Transaction newTransaction()
新建事务,适合手动管理事务- Returns:
- 事务
-
transaction
public <T> T transaction(TransactionAction<T> action)
以事务的方式来运行函数 使用默认事务隔离级别- Type Parameters:
T- 闭包函数的返回值- Parameters:
action- 函数- Returns:
- 返回闭包函数的返回值
- Throws:
SqlExUndeclaredException- action运行过程中的Checked异常包装
-
transaction
public void transaction(TransactionActionReturnVoid action)
以事务的方式来运行函数,函数无返回值 使用默认事务隔离级别- Parameters:
action- 函数- Throws:
SqlExUndeclaredException- action运行过程中的Checked异常包装
-
transaction
public void transaction(java.lang.Integer transactionIsolationLevel, TransactionActionReturnVoid action)以事务的方式来运行函数,函数无返回值- Parameters:
transactionIsolationLevel- 事务隔离级别, 例如:Connection.TRANSACTION_REPEATABLE_READaction- 函数- Throws:
SqlExUndeclaredException- action运行过程中的Checked异常包装
-
transaction
public <T> T transaction(java.lang.Integer transactionIsolationLevel, TransactionAction<T> action)以事务的方式来运行函数- Type Parameters:
T- 闭包函数的返回值- Parameters:
action- 函数transactionIsolationLevel- 事务隔离级别, 例如:Connection.TRANSACTION_REPEATABLE_READ- Returns:
- 返回闭包函数的返回值
- Throws:
SqlExUndeclaredException- action运行过程中的Checked异常包装
-
newConnection
public java.sql.Connection newConnection()
新建连接- Returns:
- 新建的数据连接
-
getRepositoryClass
public java.lang.Class<?> getRepositoryClass()
获取该Dao工厂做管理的SqlEx Repository- Returns:
- SqlEx Repository
-
getExceptionTranslator
public ExceptionTranslator getExceptionTranslator()
获取异常转换/翻译器- Returns:
- 异常转换/翻译器
-
migrate
public void migrate()
迁移数据版本
-
check
public void check()
检查数据结构
-
getInstance
public <T> T getInstance(java.lang.Class<T> clazz)
获取数据访问对象/表操作对象的实例- Type Parameters:
T- 数据访问对象/表操作对象类型- Parameters:
clazz- 数据访问对象/表操作对象Class- Returns:
- 数据访问对象/表操作对象实例
- Throws:
SqlExRepositoryNotMatchException- 给定的类型不属于Factory管理的Repository
-
-