页面效果:
1.点击用户管理

2.输入查询条件,查询数据库,数据回显

实现步骤
数据库实现
#用户表CREATE TABLE Elec_User(
UserID VARCHAR(50) NOT NULL, #主键ID
JctID VARCHAR(50) NULL, #所属单位code
JctUnitID VARCHAR(50) NULL, #所属单位的单位名称(联动)
UserName VARCHAR(50) NULL, #用户姓名
LogonName VARCHAR(50) NULL, #登录名
LogonPwd VARCHAR(50) NULL, #密码#
SexID VARCHAR(10) NULL, #性别
Birthday DATETIME NULL, #出生日期
Address VARCHAR(100) NULL, #联系地址
ContactTel VARCHAR(50) NULL, #联系电话
Email VARCHAR(50) NULL, #电子邮箱
Mobile VARCHAR(50) NULL, #手机
IsDuty VARCHAR(10) NULL, #是否在职
PostID VARCHAR(10) NULL, #职位(主要用于工作流审核)
OnDutyDate DATETIME NULL, #入职时间
OffDutyDate DATETIME NULL, #离职时间
remark VARCHAR(500) NULL #备注
#IsDelete VARCHAR(10) NULL, #是否删除
#CreateEmpID VARCHAR(50) NULL,#创建人ID
#CreateDate DATETIME NULL, #创建时间
#LastEmpID VARCHAR(50) NULL, #修改人ID
#LastDate DATETIME NULL #修改时间
)
#用户职称附件表CREATE TABLE Elec_User_File(
FileID VARCHAR(50) not null primary key, #主键ID
UserID VARCHAR(50) NULL, #用户ID
FileName VARCHAR(50) NULL, #文件名
FileURL VARCHAR(1000) NULL, #文件路径
ProgressTime TIMESTAMP NULL, #上传时间CONSTRAINT FOREIGN KEY(userID) REFERENCES Elec_User(userID)
)domain设计
创建2个JavaBean
根据用户表和附件表,创建相应的javabean文件:ElecUser.java和ElecUserFile.java,代码略
创建2个xml
因为一个用户对应多个附件,所以用户表与附件表是一对多的关系。
1.ElecUser.hbm.xml
2.ElecUserFile.hbm.xml
3.在hibernate.cfg.xml中添加:
功能简介:1.用户留言功能2.用户定货功能3.定制货货功能4.定制网页样式和其实设置(比如主页)5.强大的管理功能(现在的程序都是管理功能大于应用功能:)6.管理功能支持查看订货单,留言,分页,删除等功能管理页面:login.asp管理密码:admin
Dao设计
创建Dao接口
1.用户表Dao:ElecUserDao.java


public interface IElecUserDao extends ICommonDao{public static final String SERVICE_NAME="cn.elec.dao.imp.ElecUserDaoImpl"; }
2.附件表Dao:ElecUserFileDao.java


public interface IElecUserFileDao extends ICommonDao{public static final String SERVICE_NAME="cn.elec.dao.imp.ElecUserFileDaoImpl"; }
创建Dao实现类
1.ElecUserDaoImpl.java


@Repository(IElecUserDao.SERVICE_NAME)public class ElecUserDaoImpl extends ICommonDaoImplimplements IElecUserDao{ }
2.ElecUserFileDaoImpl.java


@Repository(IElecUserFileDao.SERVICE_NAME)public class ElecUserFileDaoImpl extends ICommonDaoImplimplements IElecUserFileDao{ }
Service设计
创建Service接口


public interface IElecUserService {public static final String SERVICE_NAME="cn.elec.service.impl.ElecUserServiceImpl";
List findUserlistByCondition(ElecUser elecUser);
} 创建Service实现类
@Service(IElecUserService.SERVICE_NAME)
@Transactional(readOnly=true)public class ElecUserServiceImpl implements IElecUserService{//用户表Dao@Resource(name=IElecUserDao.SERVICE_NAME)private IElecUserDao elecUserDao;//附件表Dao@Resource(name=IElecUserFileDao.SERVICE_NAME)private IElecUserFileDao elecUserFileDao;//数据字典Dao@Resource(name=IElecSystemDDLDao.SERVICE_NAME)private IElecSystemDDLDao elecSystemDDLDao;/**
* @Name: findUserlistByCondition
* @Description: 根据查询条件返回查询结果
* @Parameters: ElecUser VO对象
* @Return: List:用户集合*/@Overridepublic List findUserlistByCondition(ElecUser elecUser) {
String condition="";
List 问题:当使用数据字典的时候,需要数据的转换,多了很多的sql语句,如何进行sql优化?
Action设计
1.创建UserAction类
public class ElecUserAction extends BaseAction{ ElecUser elecUser=this.getModel(); //注入用户管理service@Resource(name=IElecUserService.SERVICE_NAME) IElecUserService elecUserService; //注入数据字典service@Resource(name=IElecSystemDDLService.SERVICE_NAME) IElecSystemDDLService elecSystemDDLService; /** * @Name: home * @Description: 跳转到用户管理页面 * @Parameters: 无 * @Return: String:跳转到system/userIndex.jsp*/public String home(){//加载数据类型是所属单位的数据字典的集合,遍历在页面的下拉菜单中List jctList = elecSystemDDLService.findSystemDDLListByKeyword("所属单位"); request.setAttribute("jctList", jctList);//组织页面中的查询条件,查询用户表,返回List List userList=elecUserService.findUserlistByCondition(elecUser); request.setAttribute("userList", userList);return "home"; } }
2.在struts.xml中添加
/WEB-INF/page/system/userIndex.jsp
Jsp页面设计


<%@ page language="java" pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s"%>
用户管理









