学完SSH后就立马做了这个项目,对项目的分层有了更加深入的了解,这里有总结的很好的百度知道链接,可以学习。
&emspdao层负责数据库的增删改查,service层完成业务逻辑,例如项目中的分页查询,在service中完成分页信息的获取,而如何获取这些数据?就是通过Dao层的基本操作。
开发中的一些细节问题
1、表单中访问action时,传入参数,通过模型驱动可以封装到action中.
department_findAll.action?currPage=1
private Integer currPage = 1;
public void setCurrPage(Integer currPage) {
this.currPage = currPage;
}
2、service操作Dao的时候,要加上事务管理@Transactional
3、在表单输入的时候,如果数据库是时间类型(datetime),输入就要做规格判断,不然普通数值直接发到服务器会造成奇怪的影响。
4、级联删除的实现(删除部门的同时把归属于该部门的员工一起删除)
- 在部门的映射配置文件中,添加cascade=“delete”
<set name="employees" cascade="delete">
- 这种情况下,两边修改都会互相影响,因此还要让一方放弃外键维护权,让部门 放弃维护权
(为什么是部门方放弃呢?1个部门,n个员工。如果部门去维护外键的话,要维护n个,麻烦;如果,员工去维护的话,员工只要找到这个部门,简单。)
<set name="employees" cascade="delete" inverse="true">
https://www.imooc.com/learn/679
https://www.imooc.com/learn/586
源码视频中有提供,过后我也会上传到我的github