您的位置:首页 > 其它

[置顶] ssh员工管理系统(2)

2016-09-13 17:33 288 查看

简单的ssh员工管理系统(1)已经写完了,(2)马上就给大家贡献上。现在我先把笔记给大家整理一下,由于个人文字能力不是太强,只用写通俗易懂的词汇来描述下,接下来开始吧!

<span style="font-size:18px;"><strong><span style="font-size:18px;"><strong>-------------------------- 修改需求页面 ------------------------------
将所有以.html 为后缀的改为.jsp 为后缀。
注意:要重新建一个文件将.html 的内容替换,防止出现乱码。

-------------------------- 编写员工、部门的实体类和映射文件 ----------------
注意:员工的实体类中包含部门的实体类,即多对一的关联关系。
部门的实体类中包含员工的集合,即一对多的关联关系。
映射文件:
Department.hbm.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.org.entity.Department" table="department">
<id name="did" column="did">
<generator class="native"/>
</id>
<property name="dname" column="dname" length="20"></property>
<property name="ddesc" column="ddesc" length="20"></property>
<!--一个部门中有多个员工  -->
<set name="employee">
<!-- 指定需要关联的列 -->
<key>
<column name="eno" ></column>
</key>
<!--需要关联的表(类) -->
<one-to-many class="com.org.entity.Employee"/>
</set>
</class>
</hibernate-mapping>

Employee.hbm.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.org.entity.Employee" table="employee">
<id name="eid" column="eid">
<generator class="native"/>
</id>
<property name="ename" column="ename" length="20"></property>
<property name="sex" column="sex"></property>
<property name="birthday" column="birthday"></property>
<property name="joinDate" column="joinDate"></property>
<property name="username" column="username" length="20"></property>
<property name="password" column="password" length="20"></property>
<property name="eno" column="eno" length="20"></property>
<!-- 多对一的关系 -->
<many-to-one name="department" class="com.org.entity.Department" column="dno"></many-to-one>
</class>
</hibernate-mapping>

--------------------------  Action 、service、dao 的配置 -----------
在applicationContext.xml 中进行配置。

注意:必须加:default-autowire="byName" default-lazy-init="true"。
要不会报异常:
"sessionFactory " or "hibernateTemplate " is required异常。
原因:
因为spring在初始化容器的时候会对这个对象作一个check, 看下HibernateDaoSupport源码中的checkDaoConfig()方法 就清楚啦:
protected final void checkDaoConfig()
{
if (this.hibernateTemplate == null)
{
throw new IllegalArgumentException
("'sessionFactory' or 'hibernateTemplate' is required");
}
}
但是在spring配置文件中加入sessionFactory的bean配置以后,仍然出现异常。
-----------------------------登录操作---------------------------
注意:在EmployeeDaoImpl 中首先要用getSessionFactory().getCurrentSession();来获取session.
-------------------------部门管理的分页操作-------------------------------
1.需要一个pageBaen对象来封装分页的信息。
根据这个可以得出mysql 分页的规律:
看看下面一组sql语句,尝试一下发现其中的规率。
前10条记录:select * from table limit 0,10
第11至20条记录:select * from table limit 10,10
第21至30条记录:select * from table limit 20,10 ……
这一组sql语句其实就是当$PageSize=10的时候取表内每一页数 据的sql语句,我们可以总结出这样
一个模板:
select * from table limit ($CurrentPageID - 1) * $PageSize,$PageSize
2.分页的页面要查询出总的记录数,总页数等等。
所以涉及到俩个方法:
一个是查询数据库的全部数据。
一个是分页显示的记录数。即第几页到第几页的数据。</strong></span></strong></span>

-------------------------部门管理的添加操作-------------------------------
1.点击添加按钮,首先得跳转到添加页面。
2.跳转到添加页面,进行保存即可。
代码如下:
/**
* 跳转到添加页面
*/
public String addDepartment(){
return "saveUI";

}
/**
* 部门管理的添加操作
* @return
*/
public String saveDepartment(){
departmentService.addDepartment(department);
return "success";
}
在struts.xml 中进行配置即可。


标注:该项目大致已经完成。其他简单的操作未一一列出。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: