37 信息管理系统文档格式.docx
- 文档编号:16078874
- 上传时间:2022-11-18
- 格式:DOCX
- 页数:28
- 大小:659.48KB
37 信息管理系统文档格式.docx
《37 信息管理系统文档格式.docx》由会员分享,可在线阅读,更多相关《37 信息管理系统文档格式.docx(28页珍藏版)》请在冰豆网上搜索。
[零基础学JAVA]JavaSE应用部分-37.JavaSE实战开发
:
(mars_25):
:
(mars_21):
MIS信息管理系统实战开发之使用MySQL实现保存
开发背景
ID、姓名、年龄为公共信息,而学生有成绩,工人有工资
定义一个抽象类Person(ID、姓名、年龄),学生是其子类,有成绩,工人是其子类有工资
ID如何定义呢?
ID最好可以自己生成,最好的方式是采用下面的编码方式:
·
标记+时间戳+三位随机数
例如:
2009年3月2220:
10:
10.345
学生的标记为s,工人的标记为w
生成的ID号:
学生-->
s20090322201010345023
工人-->
w20090322201010345023
因为现在的程序要满足文件和数据库的操作标准,所以此处应该定义出一个公共的标准——接口
查询信息的时候可以进行排序操作,可以使用Comparable接口完成。
整个代码中牵扯到数据层的操作
数据层就是指真实的数据操作-->
CRUD。
最终结果操作的肯定是一个人(人为工人和学生)
应该进行分开,一个是全部的学生管理,一个是全部的工人管理。
数据层操作标准定义完成之后,有两种选择,一种是直接使用子类实现,但是以后的修改不是很方便,
所以此处最好使用代理设计的思路完成,做一个中间层。
代码关系:
Main-->
Menu-->
PersonOperate-->
DAO
因为程序即要求使用文件保存,又要求使用数据库保存,所以此处可以设计出一个工厂,通过此工厂进行DAO的操作子类实例取得。
在之前程序的基础上加入数据库的功能,现在不使用文件保存了,而使用数据库进行保存。
如果现在要是把一个完整的PersonDAO接口分为StudentDAO和WorkerDAO两个接口,则调用处就不用修改代码。
数据库使用的是mysql,所以需要单独安装一个数据库的驱动程序
##################Michael分割线##########################
PersonDAO.java
packageorg.michael.demo.dao;
importjava.util.Set;
importorg.michael.demo.vo.Person;
//定义具体的数据的操作方法
publicinterfacePersonDAO{
/**
*插入数据的操作
*
*@paramperson
*插入的是一个人员信息
*@return操作成功与否的提示
*@throwsException
*如果有错误,则把错误抛给调用处处理
*/
publicbooleandoCreate(Personperson)throwsException;
*更新数据操作
*更新的具体信息
*@return更新成功与否的提示
*如果有错误,则把错误抛出
publicbooleandoUpdate(Personperson)throwsException;
*按id删除信息
*@paramid
*人员的编号
*@return删除与否的提示
*如果有错误,则在调用处处理
publicbooleandoDelete(Stringid)throwsException;
*因为查询是多个,所以要返回Set集合
*@return全部的查询结果,一个Set中包含了多个Person对象
publicSet<
Person>
findAll()throwsException;
*按id进行查询
*@return具体的人员信息
publicPersonfindById(Stringid)throwsException;
*按关键字进行查询
*@paramkeyWord
*输入的关键字
*@return返回一组信息
findByLike(StringkeyWord)throwsException;
}
PersonDAOImplJDBC.java
packageorg.michael.demo.dao.impl;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importjava.util.TreeSet;
importorg.michael.demo.dao.PersonDAO;
importorg.michael.demo.dbc.DataBaseConnection;
importorg.michael.demo.vo.Student;
importorg.michael.demo.vo.Worker;
publicclassPersonDAOImplJDBCimplementsPersonDAO{
privateDataBaseConnectiondbc=null;
privateStringtype=null;
//查询操作分为两点,要么是查询工人,要么是查询学生
publicPersonDAOImplJDBC(Stringtype){
this();
this.type=type;
}
publicPersonDAOImplJDBC(){
publicbooleandoCreate(Personperson)throwsException{
this.dbc=newDataBaseConnection();
booleanflag=false;
try{
PreparedStatementpstmt=null;
//如果传入的是学生,则type为0,如果传入的是工人,则type为1
Stringsql=null;
floattemp=0.0f;
if(personinstanceofStudent){
Studentstu=(Student)person;
temp=stu.getScore();
sql="
INSERTINTOtperson(id,name,age,score,type)VALUES(?
?
0)"
;
if(personinstanceofWorker){
Workerwor=(Worker)person;
temp=wor.getSalary();
INSERTINTOtperson(id,name,age,salary,type)VALUES(?
1)"
pstmt=this.dbc.getConnection().prepareStatement(sql);
pstmt.setString(1,person.getId());
pstmt.setString(2,person.getName());
pstmt.setInt(3,person.getAge());
pstmt.setFloat(4,temp);
pstmt.executeUpdate();
pstmt.close();
flag=true;
}catch(Exceptione){
throwe;
}finally{
//最终无论是否发生异常,都必须关闭数据库
this.dbc.close();
returnflag;
publicbooleandoDelete(Stringid)throwsException{
DELETEFROMtpersonWHEREid=?
"
pstmt.setString(1,id);
publicbooleandoUpdate(Personperson)throwsExcept
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 37 信息管理系统 信息管理 系统