页面效果:
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
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="cn.elec.domain.ElecUser" table="Elec_User"> <id name="userID" type="string" column="userID"> <generator class="uuid"></generator> </id> <property name="jctID" type="string" column="jctID"></property> <property name="jctUnitID" type="string" column="jctUnitID"></property> <property name="userName" type="string" column="userName"></property> <property name="logonName" type="string" column="logonName"></property> <property name="logonPwd" type="string" column="logonPwd"></property> <property name="sexID" type="string" column="sexID"></property> <property name="birthday" type="date" column="birthday"></property> <property name="address" type="string" column="address"></property> <property name="contactTel" type="string" column="contactTel"></property> <property name="email" type="string" column="email"></property> <property name="mobile" type="string" column="mobile"></property> <property name="isDuty" type="string" column="isDuty"></property> <property name="postID" type="string" column="postID"></property> <property name="onDutyDate" type="date" column="onDutyDate"></property> <property name="offDutyDate" type="date" column="offDutyDate"></property> <property name="remark" type="string" column="remark"></property> <!-- 一个用户对应多个文件 --> <set name="elecUserFiles" table="Elec_User_File" inverse="true"> <key> <column name="userID"></column> </key> <one-to-many class="cn.hust.elec.domain.ElecUserFile"/> </set> </class> </hibernate-mapping>
2.ElecUserFile.hbm.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="cn.elec.domain.ElecUserFile" table="Elec_User_File"> <id name="fileID" type="string" column="fileID"> <generator class="uuid"></generator> </id> <property name="fileName" type="string" column="fileName"></property> <property name="fileURL" type="string" column="fileURL"></property> <property name="progressTime" type="timestamp" column="progressTime"></property> <!-- 用户文件和用户是多对一的关系 --> <many-to-one name="elecUser" class="cn.hust.elec.domain.ElecUser"> <column name="userID"></column> </many-to-one> </class> </hibernate-mapping>
3.在hibernate.cfg.xml中添加:
<mapping resource="/cn/elec/domain/ElecUser.hbm.xml"></mapping> <mapping resource="/cn/elec/domain/ElecUserFile.hbm.xml"></mapping>
Dao设计
创建Dao接口
1.用户表Dao:ElecUserDao.java
public interface IElecUserDao extends ICommonDao<ElecUser> { public static final String SERVICE_NAME="cn.elec.dao.imp.ElecUserDaoImpl"; }