最近在做国家电网的项目,关于sg-uap的相关记录:
1. 底层使用 Spring + Spring MVC + Hibernate 框架。暂时没研究前端。如果要是添加配置文件,相对麻烦,目前还有问题,由于 主项目和块项目的结构,主项目的web.xml 配置不了所谓的spring.xml(项目中某个xml),即 监听 和 contextConfigLocation等。shiro框架拦截器配置不了,导致请求拦截不到。后续,如果能实现拦截,补充文档。
2 . 发现一个好玩的事情,不知道是由于Hibernate的机制问题,还是其他原因,暂未深究。如果controller的@RequestMapping 设置为POST,hibernateDao.queryForListWithSql 就无法自动映射成实体对象,如果为GET请求,则无此问题。下为GET请求:
Object[] dicParam = new Object[] { userId };
String querySql = " select * from securityuserrole where userid= ?";
List<Securityuserrole> securityuserroles = hibernateDao
.queryForListWithSql(querySql, dicParam);
return securityuserroles;
下为POST请求:
Object[] dicParam = new Object[] { pid };
String hql = "SELECT * FROM securitymodule where parentid = ?";
List<Map<String, Object>> lists = hibernateDao.queryForListWithSql(
hql, dicParam);
List<Securitymodule> list = new ArrayList<Securitymodule>();
for (Map<String, Object> map : lists) {
Securitymodule securitymodule = new Securitymodule();
securitymodule.setId((Long) map.get("id"));
securitymodule.setModulename((String) map.get("modulename"));
securitymodule.setDescription((String) map.get("description"));
securitymodule.setPriority((Integer) map.get("priority"));
securitymodule.setSn((String) map.get("sn"));
securitymodule.setUrl((String) map.get("url"));
list.add(securitymodule);
}
return list;