📄 sqlclientserviceimpl.java
字号:
package com.cownew.PIS.base.sqlClient.bizLayer;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import org.apache.log4j.Logger;
import com.cownew.PIS.base.sqlClient.common.ISQLClientService;
import com.cownew.PIS.framework.bizLayer.BizCtrlImpl;
import com.cownew.PIS.framework.common.metaDataMgr.EntityModelInfo;
import com.cownew.PIS.framework.common.metaDataMgr.IMetaDataLoader;
import com.cownew.PIS.framework.common.services.ISQLExecutor;
import com.cownew.PIS.framework.server.helper.LocalServiceLocator;
import com.cownew.PIS.framework.server.helper.ServerMetaDataLoaderFactory;
import com.cownew.ctk.common.ExceptionUtils;
import com.cownew.ctk.common.RandomGUID;
public class SQLClientServiceImpl extends BizCtrlImpl implements
ISQLClientService
{
private static Logger logger = Logger.getLogger(SQLClientServiceImpl.class);
public void buildEntityInfoIndex()
{
ISQLExecutor sqle = (ISQLExecutor) LocalServiceLocator.getInstance()
.getService(ISQLExecutor.class);
// 清除原有数据
try
{
sqle.execute("delete from T_BS_EntityInfoIndex");
IMetaDataLoader metaDataLoader = ServerMetaDataLoaderFactory
.getLoader();
List ePathList = metaDataLoader.loadAllEntityPath();
for (int i = 0, n = ePathList.size(); i < n; i++)
{
String path = ePathList.get(i).toString();
EntityModelInfo eInfo = metaDataLoader
.loadEntityByEntityPath(path);
StringBuffer sql = new StringBuffer();
sql.append("insert into T_BS_EntityInfoIndex\n");
sql.append("(FId,FName,FPackageName,FALias,FTableName)\n");
sql.append("values(?,?,?,?,?)\n");
sqle.execute(sql.toString(), new Object[] {
new RandomGUID().toString(), eInfo.getName(),
eInfo.getPackageName(), eInfo.getAlias(),
eInfo.getTableName() });
eInfo = null;
}
} catch (SQLException e)
{
throw ExceptionUtils.toRuntimeException(e);
}
}
public boolean isEntityInfoIndex()
{
ISQLExecutor sqle = (ISQLExecutor) LocalServiceLocator.getInstance()
.getService(ISQLExecutor.class);
// 实际运行的系统中不可能一条元数据都没有,因此只要T_BS_EntityInfoIndex表中没有数据,则就认为索引表没有初始化
try
{
ResultSet rs = sqle
.execute("select top 1 * from T_BS_EntityInfoIndex");
return rs.next();
} catch (SQLException e)
{
logger.error("", e);
return false;
}
}
public String[] generateCreateSQL()
{
IMetaDataLoader metaLoader = ServerMetaDataLoaderFactory.getLoader();
List metaPathList = metaLoader.loadAllEntityPath();
String[] sqls = new String[metaPathList.size()];
for (int i = 0, n = metaPathList.size(); i < n; i++)
{
String metaPath = (String) metaPathList.get(i);
EntityModelInfo eInfo = metaLoader.loadEntityByEntityPath(metaPath);
sqls[i] = EntitySQLCreator.generateCreateSQL(eInfo);
metaPath = null;
eInfo = null;
}
return sqls;
// Configuration config = HibernateConfig.getConfiguration();
// Dialect dialect = config.buildSettings().getDialect();
// return config.generateSchemaCreationScript(dialect);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -