传智播客——OA项目实战(一)

特大喜讯:今天阳光老师偶然讲了一点hibernate的映射关系,我很神奇的听懂了,天哪,这是从新中国成立以来从来没有的事情啊,这么复杂的逻辑关系我都能理清楚了,在讲叙项目之前,我先说说自己的理解

多对一于一对多是相互对应的,
在一个配置文件里写一对多,在对应的另外一个配置文件里就要写多对一,
一对多的
<!-- employees  我与Employee的一对多 -->
<set name="employees">
<key column="departmentId"></key>
<one-to-many class="Employee"/>
</set>
多对一
!-- department 我与Department的多对一 -->
<many-to-one name="department" column="departmentId" class="Department"></many-to-one>
先从多对一看起,name属性 表示自身字段,column表示映射到表中该用什么字段,但这个映射到表中的字段是依赖另外一张表的,因为只有department这张表里面定义的id属性才有意义,员工表里面随便的搞一个department id有什么意义呢,如果要保持同步的更新,这还是需要输入多条sql语句,一点都不方便
所以只有相互关联起来才会提高效率,
多对多呢,很不幸,还是不懂,尤其是中间表的概念,我估计下次哪个老师点一点就通了,阳光老师说的好,不会的东西不要强迫自己立即学会,但一定要有学会的信心。

一:正向工程与反向工程(不是逆向工程)
正向工程就是从客户需求开始分析,按照汤阳光老师的话说就是,先分析客户需要什么,也就是做什么,然后再来分析怎么做,就在分析客户需求层的怎么做的同时就得出业务层该做什么,然后又在分析业务层怎么做的时候得到DAO层做什么,然后一路搞到数据库,这就是正向工程。
逆向工程正好相反,先建立底层数据库,然后DAO层,然后业务层,然后是表示层。
二:设计dao层
1,首先建立三个包
1)cn.itcast.oa.dao
cn.itcast.oa.dao.DepartmentDao.java
cn.itcast.oa.dao.RoleDao.java
2)cn.itcast.oa.dao.base
cn.itcast.oa.dao.base.BaseDao.java
cn.itcast.oa.dao.base.DaoImplBase.java
3)cn.itcast.oa.dao.impl
cn.itcast.oa.dao.impl.DepartmentDaoImpl.java
cn.itcast.oa.dao.impl.RoleDaoImpl.java

建立这三个包里面的6个类,看起来很简单,其实一点都不简单,

DepartmentDao和RoleDao是两个继承自BaseDao的接口,然后DepartmentDaoImpl和RoleDaoImpl分别是其实现,但很神奇的就是DepartmentDaoImpl是继承DaoBaseImpl实现DepartmentDao,所以DaoBaseImpl很自然的就是BaseDao的实现了。
学习总结:今天算是正式接触到一点软件工程吧,才知道从底层开始每一点东西都是建立在严密的逻辑思维上面的。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值