小宇java_Java学习第90天

第111次(OA系统)

学习主题:OA系统

学习目标:

1 掌握web开发项目实战,熟练使用web开发基础技术

对应作业

1. 报销管理-添加报销单-业务层

(1) 在报销主表和明细表中都有一个字段叫expid,这个字段在数据库中是利用序列获取的,但是在业务层中,我们要控制主表和明细表的expid一致,所以要先获取expid赋值给主表和明细表,那么这个expid的值怎么得到呢?

1. 首先在数据库添加序列(第一个:数据单,第二个:数据单项)

2. 在MyEclipse中先获取数据库中的下一个序列的值(seq_exp.nextval)

3. 然后将值添加在数据单对应的数据单Id中.

2. 报销管理-添加报销单-DAO层代码

(1) 在我们的逻辑中,要向主表添加数据,要向明细表添加数据,但是假如在向明细表添加数据的过程中,出现异常了,那么程序就中断了,但是主表的数据被添加进去了,这个问题要怎么解决呢?

原因:一个DML操作一个事务,事务在Dao层,这就被分为了多个事务,而不是一个,

解决:将多个操作视为一个事务,此时事务要从Dao层提升到业务层.

(2) 在我们目前的代码中,当添加明细出现问题的时候,页面还是会跳转到添加成功页面,这个问题怎么解决呢?

原因: 这是因为DBUtil中出现异常以后没有抛出.

解决: 在DBUtil.java中捕捉到的异常抛出即可.

(3) 现在的代码中,会出现另一个问题:主表数据添加成功,明细表数据添加失败,但是这些操作肯定是要么都成功,要么都失败的,那么这个问题怎么解决呢?

和问题一是一个问题.

3. 报销管理-使用ThreadLocal实现业务层事务1

(1) 说明ThreadLocal的作用?

在ThreadLocal中存入connection对象.这样就可以在业务层对业务进行回滚.

ThreadLocal中的一个对象被一个线程共享,一次用户请求,共用一个Connection对象.

4. 报销管理-使用ThreadLocal实现业务层事务2

(1) 如何保证DBUtils工具类中getConnection方法获取到的Connection对象是一个呢?

把Connection对象存放在ThreadLocal中就可以了.

(2) 在DBUtils中是否要将Connection关闭呢?那要在什么时候关闭?

在业务层中关闭Connection对象,不要再Dao层关闭.

5. 报销管理-待审报销单

(1) 简述待审报销的思路?

1. 获取登录人的ID.

2. 从数据库获取查询上级Id为登录人的报销单,然后显示在网页中

(2) 如何查询的下一级审批人是不是当前登录人的信息?

比较empId和mgrId看查是否相等.

第112次(OA系统)

学习主题:OA系统

学习目标:

1 掌握web开发项目实战,熟练使用web开发基础技术

对应作业

6. 我要查询的是不是下一级审批人是当前登录人的信息?

(1) 根据业务流程图,请用文字详细描述报销流程。

1. 报销人提交报销单以后交给他的上级审核

2. 上级如果打回就直接打回报销单,如果同意则判断报销金额

3. 如果报销金额小于2500就直接交给财务部处理

4. 如果报销金额大于2500则需要交给总裁处理

5. 总裁同意后交给财务处理.

(2) 审核报销单业务涉及到哪些表?

Employee 员工表 (报销人和审核人ID和其他信息)

Expense 报销单表

ExpenseItem 报销项目表

Audititing 报销单处理记录表.

7. 报销管理-审核报销单-控制层代码和业务层思路

(1) 如何在后台sql中进行条件的拼接?

8. 报销管理-审核报销单-DAO层和业务层代码实现1

1. 在填充业务层代码过程中,需要注意哪些事项?

JSP中因为空格发生的BUG:

这一张是错误的:

这一样是正确的.

9. 报销管理-审核报销单-DAO层和业务层代码实现2

(1) 完成审核报销单业务层代码。

10. 报销管理-理解数据库表和创建实体类

(1) 简述系统中表之间的关系:

报销项属于报销单.

报销单里可以有多个报销项.

11. 报销管理-审核报销单-代码完善和业务流程图绘制

(1) 在完成审核报销单功能后,你的感悟是什么?

1. 如果有常用的常量最好把他们封装在一个常量类里.

a) 提高代码的可读性

b) 因为常量是多出调用,如果需要修改则需要修改多个地方,这样就会出现不必要的麻烦,如果封装在一个类里则可以只修改常量类一处就可以.

(2) 在程序出错后或跟你预先结果不一致的时候,你的应对策略是什么?

1. 在认为会出错的点的前面设置断点.

2. 使用Syso输出语句看查哪些参数出了错误.


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部