数据字典
- 格式:docx
- 大小:75.95 KB
- 文档页数:27
机构管理
为便于机构的新增、修改、删除以及拉链式保存机构变更的信息,需要修改机构表的表结构。增加相应的字段如生效日期、失效日期等。做拉链,主键如何操作?联合主键还是新增一个主键。以确保数据记录的正确性。
机构的更新操作与删除操作,并不是真正的进行数据的更新和删除。如:机构的更新,需要保存机构的原有信息Update之后新增一条记录。
用户管理
1. 用户与机构的关联关系:(一对一的关系)
a. 当机构号发生变更的时候,用户所属机构发生拉链变更。当用户可查询机构发生变更,用户需要发生变更。这就需要另一张表进行管理二者的关系,处理联动操作。---用户与机构关系表。
2. 用户与角色(多对多的关系)
a. 用户在做增加、修改、删除操作的时候,可以给用户添加角色的相应操作。前台与后台的相应操作需要修改。
b.角色在做增加、修改、删除操作的时候,可以给角色添加相应操作。前台与后台的相应操作需要修改。
3. 用户与菜单(多对多关系)
a. 要理清楚用户与菜单、角色与菜单、用户与角色之间的对应关系。
b. 用户界面与菜单界面的修改以及后台的修改。
c. 个人觉得需要建一张关联关系表。
角色、菜单管理
1. 角色与用户的关联关系(多对多关系)
见上面
2. 角色与菜单的关联关系(多对多关系)
a. 新增菜单模块添加角色
b. 新增角色模块添加菜单(已实现)
数据字典实现
如何设计一个公共的数据字典维护模块
1、需要字典的时候;
请选择公文状态:
其中value表示是一个默认值
如果是在编辑的时候显示的值通过ID来指定。
2、设计步骤
首先配置struts-config.xml
第二:/WEB-INF/tiles-defs.xml
name="mainLayout" path="/part/defaultTemplate.jsp">
第三:定义模板
<%
DictionaryFactory.setDictionaryByName(dictionary, request);
%>
type="com.chinantn.library.dictionary.DicBean">
selected
selected>
第四:读取字典的配置文件
id
province
select id,name from tb_dic_main
第五:解析xml文件根据传入的想要使用的字典类型得到数据;
//得到select option id private
static String sid =null;
//得到select option name
private
static String sname =null;
//生成数据的ssql
private static String ssql =null;
private static String dicName;
/**
* @return dicName
*/
public static String getDicName() {
return dicName;
}
/**
* @param dicName 要设置的 dicName
*/
public static void setDicName(String dicName) {
DictionaryFactory.dicName = dicName;
}
/**
* 默认的构造函数
* */
public DictionaryFactory() {
super();
}
/**
*
根据配置文件进行初始化
*
*
@param configFilename
*/
public DictionaryFactory(String sConfigFileName) {
this.sConfigFileName = sConfigFileName;
}
/**
* 根据字典的类型得到需要设置的字典
* @param sDicType
*/
public static void setDictionaryByName(String dicName,HttpServletRequest request) throws Exception, SQLException{
//取得需要的参数
init(dicName);
Connection conn = DBConnection.getConnection();
Statement stmt = conn.createStatement();
("ssql:"+ssql);
ResultSet rset = stmt.executeQuery(ssql);
List list = new ArrayList();
while (rset.next()) { (rset.getString(1) + " " + rset.getString(2)); DicBean db = new DicBean();
db.setId(rset.getString(1));
db.setName(rset.getString(2));
list.add(db);
}
(sname+"----"+list.size());
request.setAttribute(sname, list);
if (conn != null) {
try {
conn.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
}
/**
* 初始化数据字典的配置信息
*/
private static void init(String dicName) {
ClassPathResource classpath = new ClassPathResource(sConfigFileName);
//读取xml配置文件的信息,初始化数组
try {
//获得一个xml的解析器
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
//解析XML文件生成DOM文档的接口类,以便访问DOM