数据字典

  • 格式: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