📄 sqlmapconfig.java
字号:
package org.speedframework.config;
//~--- non-JDK imports --------------------------------------------------------
import org.apache.log4j.Logger;
import org.speedframework.exception.SpeedFrameworkException;
import org.speedframework.utilities.ConfigureUtility;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
//~--- JDK imports ------------------------------------------------------------
import java.util.HashMap;
/**
* Class SqlMapConfig
* 装载sqlmap配置文件信息,由SpeedConfig进行创建管理
* @author <a href="mailto:lzfxp@126.com"> lzfxp </a>
* @version $Revision:1.0.0, $Date: Oct 9, 2007 5:19:06 PM $
*/
public class SqlMapConfig
{
private static Logger log = Logger.getLogger(SqlMapConfig.class);
private static Document doc = ConfigureUtility.buildDocument("/sqlMapConfig.xml");
private static Element root = ConfigureUtility.getRoot(doc);
private HashMap alias = new HashMap();
private HashMap parameterMapList = new HashMap();
private HashMap resultMapList = new HashMap();
private HashMap selectList = new HashMap();
private HashMap insertList = new HashMap();
private HashMap updateList = new HashMap();
private HashMap deleteList = new HashMap();
/**
* Constructs ...
* SqlMapConfig构造函数,根据path初始化配置文件信息
* @param path
*
* @throws SpeedFrameworkException
*/
public SqlMapConfig(String path) throws SpeedFrameworkException {
doc = ConfigureUtility.buildDocument(path);
root = ConfigureUtility.getRoot(doc);
}
private void init() {
initAliasMap();
initParameterMapList();
initResultMapList();
initSelectList();
initInsertList();
initUpdateList();
initDeleteList();
}
private void initAliasMap() {
NodeList aliasList = ConfigureUtility.getElementsByName(root, "typeAlias");
if (aliasList.getLength() == 0) {
return;
}
for (int i = 0; i < aliasList.getLength(); i++) {
Element aliasItem = (Element) aliasList.item(i);
log.debug("alias:" + aliasItem.getAttribute("alias") + "=" + aliasItem.getAttribute("type"));
alias.put(aliasItem.getAttribute("alias"), aliasItem.getAttribute("type"));
}
}
private void initParameterMapList() {
NodeList list = ConfigureUtility.getElementsByName(root, "parameterMap");
ParameterMap parameterMap;
for (int i = 0; i < list.getLength(); i++) {
Element item = (Element) list.item(i);
parameterMap = new ParameterMap();
parameterMap.setId(item.getAttribute("id"));
if (alias.containsKey(item.getAttribute("class"))) {
parameterMap.setClazz((String) alias.get(item.getAttribute("class")));
} else {
parameterMap.setClazz(item.getAttribute("class"));
}
NodeList list1 = item.getElementsByTagName("parameter");
Parameter parameter;
for (int j = 0; j < list1.getLength(); j++) {
Element item1 = (Element) list1.item(j);
parameter = new Parameter();
parameter.setProperty(item1.getAttribute("property"));
parameter.setJavaType(item1.getAttribute("javaType"));
parameter.setJdbcType(item1.getAttribute("jdbcType"));
parameter.setNullValue(item1.getAttribute("nullValue"));
parameterMap.getParameter().add(parameter);
}
log.debug("load resultMap id=" + parameterMap.getId());
parameterMapList.put(parameterMap.getId(), parameterMap);
}
}
private void initResultMapList() {
NodeList list = ConfigureUtility.getElementsByName(root, "resultMap");
ResultMap resultMap;
for (int i = 0; i < list.getLength(); i++) {
Element item = (Element) list.item(i);
resultMap = new ResultMap();
resultMap.setId(item.getAttribute("id"));
if (alias.containsKey(item.getAttribute("class"))) {
resultMap.setClazz((String) alias.get(item.getAttribute("class")));
} else {
resultMap.setClazz(item.getAttribute("class"));
}
NodeList list1 = item.getElementsByTagName("result");
Result result;
for (int j = 0; j < list1.getLength(); j++) {
Element item1 = (Element) list1.item(j);
result = new Result();
result.setProperty(item1.getAttribute("property"));
result.setColumn(item1.getAttribute("column"));
result.setColumnIndex(item1.getAttribute("columnIndex"));
result.setJavaType(item1.getAttribute("javaType"));
result.setJdbcType(item1.getAttribute("jdbcType"));
result.setNullValue(item1.getAttribute("nullValue"));
resultMap.getResult().add(result);
}
log.debug("load resultMap id=" + resultMap.getId());
resultMapList.put(resultMap.getId(), resultMap);
}
}
private void initSelectList() {
NodeList list = ConfigureUtility.getElementsByName(root, "select");
StatementConfig select;
for (int i = 0; i < list.getLength(); i++) {
Element item = (Element) list.item(i);
select = new StatementConfig();
select.setId(item.getAttribute("id"));
if (alias.containsKey(item.getAttribute("parameterClass"))) {
select.setParameterClass((String) alias.get(item.getAttribute("parameterClass")));
} else {
select.setParameterClass(item.getAttribute("parameterClass"));
}
select.setParameterMap(item.getAttribute("parameterMap"));
if (alias.containsKey(item.getAttribute("resultClass"))) {
select.setParameterClass((String) alias.get(item.getAttribute("resultClass")));
} else {
select.setParameterClass(item.getAttribute("resultClass"));
}
// select.setValue(item.getTextContent().trim());
log.debug("load select id=" + select.getId() + "->" + select.getValue());
selectList.put(select.getId(), select);
}
}
private void initInsertList() {
NodeList list = ConfigureUtility.getElementsByName(root, "insert");
StatementConfig insert;
for (int i = 0; i < list.getLength(); i++) {
Element item = (Element) list.item(i);
insert = new StatementConfig();
insert.setId(item.getAttribute("id"));
if (alias.containsKey(item.getAttribute("parameterClass"))) {
insert.setParameterClass((String) alias.get(item.getAttribute("parameterClass")));
} else {
insert.setParameterClass(item.getAttribute("parameterClass"));
}
insert.setParameterMap(item.getAttribute("parameterMap"));
// insert.setValue(item.getTextContent().trim());
log.debug("load insert id=" + insert.getId() + "->" + insert.getValue());
insertList.put(insert.getId(), insert);
}
}
private void initUpdateList() {
NodeList list = ConfigureUtility.getElementsByName(root, "update");
StatementConfig update;
for (int i = 0; i < list.getLength(); i++) {
Element item = (Element) list.item(i);
update = new StatementConfig();
update.setId(item.getAttribute("id"));
if (alias.containsKey(item.getAttribute("parameterClass"))) {
update.setParameterClass((String) alias.get(item.getAttribute("parameterClass")));
} else {
update.setParameterClass(item.getAttribute("parameterClass"));
}
update.setParameterMap(item.getAttribute("parameterMap"));
// update.setValue(item.getTextContent().trim());
log.debug("load update id=" + update.getId() + "->" + update.getValue());
updateList.put(update.getId(), update);
}
}
private void initDeleteList() {
NodeList list = ConfigureUtility.getElementsByName(root, "delete");
StatementConfig delete;
for (int i = 0; i < list.getLength(); i++) {
Element item = (Element) list.item(i);
delete = new StatementConfig();
delete.setId(item.getAttribute("id"));
if (alias.containsKey(item.getAttribute("parameterClass"))) {
delete.setParameterClass((String) alias.get(item.getAttribute("parameterClass")));
} else {
delete.setParameterClass(item.getAttribute("parameterClass"));
}
delete.setParameterMap(item.getAttribute("parameterMap"));
// delete.setValue(item.getTextContent().trim());
log.debug("load delete id=" + delete.getId() + "->" + delete.getValue());
updateList.put(delete.getId(), delete);
}
}
/**
* Method getOriginalByAlias
* 返回别名的全称
* @param alias
* @return String
*/
public String getOriginalByAlias(String alias) {
return (String) this.alias.get(alias);
}
/**
* Method getParameterMapById
* 返回id指定的parameterMap信息
* @param id
* @return ParameterMap
*/
public ParameterMap getParameterMapById(String id) {
return (ParameterMap) parameterMapList.get(id);
}
/**
* Method getResultMapById
* 返回id指定的resultMap信息
* @param id
* @return ResultMap
*/
public ResultMap getResultMapById(String id) {
return (ResultMap) resultMapList.get(id);
}
/**
* Method getSelectById
* 返回select元素中id指定的statementConfig信息
* @param id
* @return StatementConfig
*/
public StatementConfig getSelectById(String id) {
return (StatementConfig) selectList.get(id);
}
/**
* Method getInsertById
* 返回insert元素中id指定的statementConfig信息
* @param id
* @return StatementConfig
*/
public StatementConfig getInsertById(String id) {
return (StatementConfig) insertList.get(id);
}
/**
* Method getUpdateById
* 返回update元素中id指定的statementConfig信息
* @param id
* @return StatementConfig
*/
public StatementConfig getUpdateById(String id) {
return (StatementConfig) updateList.get(id);
}
/**
* Method getDeletetById
* 返回delete元素中id指定的statementConfig信息
* @param id
* @return StatementConfig
*/
public StatementConfig getDeletetById(String id) {
return (StatementConfig) deleteList.get(id);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -