hibernate动态数据库进化版 (八)

2014-11-24 09:49:30 · 作者: · 浏览: 10
ublic Session session = null;


private Query query = null;;

/**
* @param Dialect
* //数据库方言
* @param dbDriver
* //数据驱动
* @param dbUrl
* //数据库地址
* @param DbPort
* //数据库端口
* @param DbName
* //数据库名
* @param DbUserName
* //数据库用户名
* @param DbUserPassword
* //数据库密码
* @return
*/
public DynamicHibernateConfiguration setHibernateConfig(String dialect,
String driverClass, String ipAddress, String port,
String dataBaseName, String username, String password,
String schema, String catalog) {
DynamicHibernateConfiguration configuration = null;
if (schema != null && schema != "") {
configuration = new DynamicHibernateConfiguration(dialect,
driverClass, ipAddress, port, dataBaseName, username,
password, schema, catalog);
} else {
configuration = new DynamicHibernateConfiguration(dialect,
driverClass, ipAddress, port, dataBaseName, username,
password);
}
return configuration;
}

/**
* 获取session
*
* @return
*/
public void reflashDbConnection(
DynamicHibernateConfiguration configuration, String dialect,
String driverClass, String ipAddress, String port,
String dataBaseName, String username, String password,
String tableName) {

session = DynamicSessionFactory.getSession();

}

public Session getSession() {
return session;
}

/**
* 获取sqlSession
*
* @return
*/
public Session getTempSession() {
return DynamicSessionFactory.getSession();
}


/**
* 执行数据库操作时先执行此方法
*
* @param dialect
* @param driverClass
* @param ipAddress
* @param port
* @param dataBaseName
* @param username
* @param password
* @param schema
* @param catalog
* @param tableName
*/
public void dynamicSqlOperateBefore(String dialect, String driverClass,
String ipAddress, String port, String dataBaseName,
String username, String password, String schema, String catalog,
String tableName) {

DynamicHibernateConfiguration configuration = setHibernateConfig(
dialect, driverClass, ipAddress, port, dataBaseName, username,
password, schema, catalog);
DynamicSessionFactory.reflashSessionFactory(configuration);
session = DynamicSessionFactory.getSession();
}

/**
* 获取对象
* @param dialect
* @param driverClass
* @param ipAddress
* @param port
* @param dataBaseName
* @param username
* @param password
* @param schema
* @param catalog
* @param tableName
* @param idColumn
* @param id
* @return
*/
public Object get(String dialect, String driverClass, String ipAddress,
String port, String dataBaseName, String username, String password,
String schema, String catalog, String tableName, String idColumn,
Long id) {
dynamicSqlOperateBefore(dialect, driverClass, ipAddress, port,
dataBaseName, us