Java连接Oracle数据库开发银行管理系统【二、设计篇】
一、总体分析
此系统的实现并不难,但是如何更好的设计出实现方式还是需要更深入的分析,例如:如果再增加其他功能,是不是需要变动的
代码很少,只是直接再增加一点功能就可以了呢?如果使用的不是Oracle而是MySQL数据库呢?这都应该在设计阶段考虑清楚。
二、具体分析
1.创建test包并创建TestBank类,启动和运行系统。【启动】
2.创建service包
2.1 创建业务逻辑层类Bank,定义银行系统主菜单方法,以及功能的操作。
2.2 创建业务逻辑层类AdminService,完成Bank的请求,转发给数据库操作,再把数据库操作的结果处理后返回给Bank中
管理员的请求。
2.3 创建业务逻辑层类AdminService,完成Bank的请求,转发给数据库操作,再把数据库操作的结果处理后返回给Bank中
客户的请求。
3.创建po包,定义Admin类和Customer类
Admin类是数据库表administrator的映射类,用来存储administrator表的数据。
Customer类是数据库表customer的映射类,用来存储customer表的数据。
4.创建dao包,
4.1 创建db.properties文件,里面保存数据库的配置文件。
4.2 创建Config类,加载配置文件内容到Properties对象中。
4.3 创建BaseDao类,连接数据库,并且进行数据库的操作。
4.4 创建AdminDao接口,定义管理员登陆、添加顾客(开户)、计算储蓄总额、富豪排行榜方法。
4.5 创建AdminDaoImpl类,继承BaseDao,实现AdminDao接口,使用jdbc完成相应的数据库操作。
4.6 创建CustomerDao接口,定义顾客登录,存款,取款,查询余额,转账,修改密码方法。
4.7 创建CustomerDaoImpl类,继承BaseDao,实现CustomerDao接口,使用jdbc完成相应的数据库操作。
总结:
1.使用Config,实现加载数据库配置文件,这样如果更改数据库的配置,只需在文件中更改配置信息即可,不需要再修改代 码。
2.Bank类中的功能操作,只管功能的操作【相等于前台的显示】,DaoImpl中只管进行数据库的操作请求【数据库请求部分】,然后将数据库操作的结果返回到Service中进行处理【相等于中间处理】,Service接受Bank的请求,然后将请求转发给DaoImpl,然后接受DaoImpl的结果,进行处理,将处理结果返回到Bank的请求。
【三级分离,每一部分完成特定的功能,功能操作请求---> 中间转发处理--->数据库操作 使结构清晰】。
3.使用Admin,Customer类作为数据库中两张表的映射类。使用对象不仅可以减少数据库操作的频繁度【这个项目中客户功能的部分体现的更明显】,更能方便功能的添加【例如,增加管理员改密码功能就很方便了】。
Java连接Oracle数据库开发银行管理系统【二、设计篇】的更多相关文章
- Java连接Oracle数据库开发银行管理系统【一、需求篇】
此系统开发共分为三篇完成. 第一篇[需求篇]:效果展示图,也就是需求部分的展示 第二篇[设计篇]:需求分析和类,接口的设计 第三篇[实现篇]:具体代码实现
- Java连接Oracle数据库开发银行管理系统【三、实现篇】
说明:里面的主要代码都加的有注释部分,所以代码显得很长,如果有错误的地方,谢谢指出. 注意需要导入数据库jar包 ------------------------------------------- ...
- oracle入门(5)——java连接oracle数据库
[本文介绍] 前面几篇说了那么多,最终还没讲到如何用java连接数据库,本文实用一点,讲讲如何连接数据库. [java连接oracle数据库] 1.导入jdbc驱动:看到这里,就忙着上网找驱动?不,安 ...
- Java连接Oracle数据库的三种连接方式
背景: 这两天在学习Oracle数据库,这里就总结下自己上课所学的知识,同时记录下来,方便整理当天所学下的知识,也同时方便日后自己查询. SQL语句的话,这里我就不多讲了,感觉和其他的数据库(MySQ ...
- java连接Oracle数据库
Oracle数据库先创建一个表和添加一些数据 1.先在Oracle数据库中创建一个student表: create table student ( id ) not null primary key, ...
- java连接oracle数据库的实现代码
package connectionOracleDatabase; import java.sql.Connection; import java.sql.DatabaseMetaData; impo ...
- java连接Oracle数据库实现增删改查并在Navicat中显示
创建TEST表 eclipse中的java项目 代码 数据库方法类 DBUtil: package util; import java.sql.Connection; import java.sql. ...
- java连接Oracle数据库的操作说明
在测试中,我们常常需要连接Oracle数据库来进行查询对比.下面,我们就来看看,如何使用java代码来连接数据库,并且取出我们想要的数值. 首先,java中如果要连接Oracle数据库,需要jdbc的 ...
- Java连接Oracle数据库常用方法
JDBC的六大步骤: 注册驱动 获取连接 获取执行sql语句对象 执行sql语句 处理结果集 关闭资源 oracle URL: jdbc:oracle:thin:@localhost:1521:SID ...
随机推荐
- BZOJ 1564: [NOI2009]二叉查找树
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1564 Description Input Output 只有一个数字,即你所能得到的整棵树的访 ...
- pip 8 安装
1.首先安装setuptools 2.再安装pip http://blog.csdn.net/u013372487/article/details/51726002
- Java中实现PHP中的urlencode与rawurlencode
php手册中对urlencode这样说明 在java中 URLEncoder做了这样注释 也就是说java中对星号"*"是不进行编码的 也就是说URLEncoder之后还是&quo ...
- 深入理解c#(第三版)(文摘)
第一部分 基础知识 第1章 C#开发的进化史 1.3 1.3.1 表示未知的价格 public decimal? Price { get; private set; } new ProductWith ...
- 基于Django的web开发
github地址:https://github.com/shirleyandgithub/PythonWeb
- shell下批量重命名svn文件的方法
shell下批量重命名svn文件的方法 目标: 将svn目录下所有文件重命名 , 原文件前缀为 ucc_ , 批量改为 xmd_ 用tree看下当前svn目录 ucc_1.c ucc_1.h ucc_ ...
- 高速PCB之EMC设计47则
高速PCB之EMC设计47则 差模电流和共模电流 辐射产生 电流导致辐射,而非电压,静态电荷产生静电场,恒定电流产生磁场,时变电流既产生电场又产生磁场.任何电路中存在共模电流和差模电流,差模信号携带数 ...
- 转载:[转]如何学好3D游戏引擎编程
[转]如何学好3D游戏引擎编程 Albert 本帖被 gamengines 从 游戏引擎(Game Engine) 此文为转载,但是值得一看. 此篇文章献给那些为了游戏编程不怕困难的热血青年,它的 ...
- 《python核心编程》笔记——文件的创建、读取和显示
创建文件(makeTextFile.py)脚本提醒用户输入一个尚不存在的文件名,然后由用户输入文件每一行,最后将所有文本写入文本文件 #!/usr/bin/env python 'makeTextFi ...
- bzoj 3718
题意:戳这里 思路:很容易发现对于一个车能否移动到最终的位置只要判断路径中得最大高度与自身高端之和是否>w即可. 那么就可以转化为逆序对得最大数问题..即对于每一辆车,判断有那些最初在他前面,而 ...