课程信息管理系统.docx
- 文档编号:26188643
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:29
- 大小:31.86KB
课程信息管理系统.docx
《课程信息管理系统.docx》由会员分享,可在线阅读,更多相关《课程信息管理系统.docx(29页珍藏版)》请在冰豆网上搜索。
课程信息管理系统
packageorg、hxl、oracle、demo03;
importjava、sql、Connection;
importjava、sql、DriverManager;
importjava、sql、PreparedStatement;
importjava、sql、ResultSet;
importjava、util、ArrayList;
import java、util、Iterator;
importjava、util、List;
importjava、util、Scanner;
/*
* 课程信息管理系统,要求:
*1、 课程信息包括:
Cno(课程号),Cname(课程名),period(课时数),term(上课学期),
*ﻩproperty(课程性质)
*2、包括课程得增加,删除,修改
* 查询(查询全部得课程信息,按关键字查询课程信息,按课程号查询课程信息)
* 3、将所有得记录保存在oracle数据库中
**/
//vo类(与数据库中得一张表相对应,一个对象对应表中得一条记录,一个属性对应表中得一个字段)
class Courseimplementsparable privateint cno;//课程号 ﻩprivateStringcname; //课程名 ﻩprivateintperiod ;//课时数 privateStringterm;//上课学期 privateStringproperty;//课程性质 publicCourse(){ ﻩ//无参构造函数 } ﻩpublic Course(intcno,Stringcname,intperiod,String term,Stringproperty){ ﻩthiso =cno; ﻩthisame=cname; ﻩthis、term=term; ﻩﻩthis、period=period; ﻩthis、property = property; ﻩ} publicvoid setCno(intcno){ thiso= cno; } publicvoidsetCname(Stringcname){ ﻩﻩthisame = cname ; } publicvoidsetPeriod(intperiod){ this、period =period; } ﻩpublicvoid setTerm(Stringterm){ ﻩthis、term =term ; } publicvoidsetProperty(Stringproperty){ this、property=property; ﻩ} ﻩpublicintgetCno(){ ﻩﻩreturnthiso; } public StringgetCname(){ returnthisame; } ﻩpublicintgetPeriod(){ ﻩﻩreturnthis、period; } ﻩpublic String getTerm(){ ﻩﻩreturnthis、term; } publicStringgetProperty(){ returnthis、property; ﻩ} ﻩOverride ﻩpublicStringtoString(){ ﻩﻩreturn"课程号: " +this、getCno() +”,课程名: "+this、getCname()+",课程得学时: ”+this、getPeriod() ﻩ+”,上课学期: "+this、getTerm()+ ",课程性质: " + this、getProperty(); } ﻩOverride publicint pareTo(Course course){ ﻩif(thiso>courseo){ ﻩreturn-1; ﻩ}elseif(thiso return1; ﻩﻩ}else{ ﻩreturn0; ﻩﻩ} } ﻩOverride ﻩpublic int hashCode(){ ﻩﻩreturnthiso *super、hashCode(); } ﻩOverride publicbooleanequals(Objectobj){ ﻩif(obj==null){ ﻩreturnfalse; } if(this ==obj){ return true; ﻩ} ﻩif(! (objinstanceofCourse)){ ﻩﻩreturnfalse; ﻩ} ﻩCourse course=(Course)obj; if(thiso==courseo){ ﻩ//课程号相同,则一定相同,课程号就是唯一标识符 ﻩreturntrue ; ﻩﻩ}else{ ﻩreturnfalse; ﻩ} ﻩ} } //DatebaseConnection数据库连接与关闭 class DatebaseConnection{ ﻩ//数据库驱动程序 ﻩprivatefinalstatic String DBDRIVER=”oracle、jdbc、driver、OracleDriver”; ﻩ//数据库得连接地址 private finalstatic StringDBURL="jdbc: oracle: thin: localhost: 1521: MLDN"; ﻩ//数据库得用户名 ﻩprivate finalstaticStringDBUER ="scott"; //数据库得密码 ﻩprivatefinalstaticStringDBPASS=”tiger”; ﻩ//数据库得连接对象 ﻩprivateConnectionconnection; ﻩpublicDatebaseConnection()throwsException{ ﻩtry{ ﻩﻩ//1、加载驱动程序 ﻩClass、forName(DBDRIVER); ﻩﻩ//2、建立数据库连接 this、connection= DriverManager、getConnection(DBURL, DBUER,DBPASS); }catch(Exception e){ ﻩﻩthrowe ; //将异常交给被调用处处理 ﻩﻩ} } publicConnectiongetConnection(){ ﻩﻩreturnthis、connection;//取得数据库连接对象得实例 } publicvoid close() throws Exception{ ﻩtry{ ﻩif(this、connection! =null){//关闭数据库连接对象 ﻩﻩﻩthis、connection、close() ; ﻩﻩ} ﻩﻩ}catch(Exceptione){ ﻩthrow e ; //异常交给被调用处处理 ﻩ} } } interface ICourseDAO{ ﻩ/* ﻩ*1、数据得增加操作,用于向数据库中添加一条课程记录 *paramcourse: 表示一个课程对象 ﻩ * return boolean: 就是否添加成功 ﻩ*throws Exception: 异常交给被调用处处理 ﻩ **/ ﻩpublicabstractbooleandoCreate(Coursecourse)throwsException ; /* ﻩ * 2、数据得删除操作,用于删除数据库中得某条记录 ﻩ *paramcno: 表示要删除得课程得课程号 *returnboolean: 删除就是否成功 *throws Exception: 异常交给被调用处处理 **/ ﻩpublicabstractbooleandoRemove(intcno)throwsException; ﻩ/* * 3、数据得更新操作 ﻩ*paramcno: 表示要更新得课程得课程号 * returnboolean: 更新就是否成功 * throwsException: 异常交给被调用处处理 ﻩ**/ publicabstractbooleandoUpdate(intcno)throwsException ; ﻩ/* *4、查瞧数据库中得所有记录 ﻩ*paramvoid ﻩ* returnList<Course〉: 将查询结果以链表得形式返回给被调用出 ﻩ*throwsException: 异常交给被调用处处理 * */ publicabstractList<Course> findAll()throwsException; /* *5、根据关键字查询 ﻩ*paramkeyWord: 查询得关键字 ﻩ* return List<Course〉: 将查询得结果以链表得形式返回给被调用出 ﻩ*throwsException: 异常交给被调用处处理 * 函数得重载 **/ publicabstractList ﻩ/* ﻩ *6、根据课程号查询 *param cno: 要查询得课程号 ﻩ * return Course: 将查询得结果返回给被调用处 *throwsException: 将异常抛出交给被调用处处理 ﻩ* */ ﻩpublic abstractCoursefind(int cno)throwsException; /* *7、查询当前数据库中得记录数 * paramvoid ﻩ*return int: 将查询得记录数返回给调用处 ﻩ*throwsException: 将异常抛出交给被调用处处理 ﻩ**/ ﻩpublicabstractintgetAllCount()throws Exception; ﻩ/* ﻩ*8、得到根据关键字查询得记录数 *paramkeyWord: 要查询得关键字 ﻩ*returnint : 将查询得记录数返回给被调用处 * throws Exception: 将异常抛出交给被调用处处理 *函数得重载 ﻩ**/ publicabstractintgetAllCount(String keyWord)throws Exception; } //真就是主题实现类,负责具体得操作 classCourseDAOImplimplements ICourseDAO{ ﻩprivate Connectionconn; ﻩprivatePreparedStatementpstmt ; publicCourseDAOImpl(Connectionconn){ //接收外部得数据库连接对象完成数据库得连接 ﻩﻩthis、conn=conn; } Override ﻩpublicbooleandoCreate(Coursecourse) throwsException{ boolean flag= false; Stringsql="Insert intoCourse(Cno,Cname,period,term,property) Values(? ? ? ,? ,? )"; ﻩﻩthis、pstmt=this、conn、prepareStatement(sql); ﻩﻩthis、pstmt、setInt(1, course、getCno()); this、pstmt、setString(2,course、getCname()); ﻩﻩthis、pstmt、setInt(3, course、getPeriod()); ﻩﻩthis、pstmt、setString(4,course、getTerm()); this、pstmt、setString(5,course、getProperty()); ﻩif(this、pstmt、executeUpdate()〉0){ ﻩﻩflag=true; ﻩﻩ} ﻩthis、pstmt、close(); ﻩreturnflag; } ﻩOverride publicboolean doRemove(intcno)throwsException{ ﻩﻩbooleanflag=false; ﻩStringsql=”Delete FromCourseWhereCno=? "; ﻩthis、pstmt=this、conn、prepareStatement(sql); this、pstmt、setInt(1,cno); ﻩif(this、pstmt、executeUpdate()>0){ ﻩﻩflag =true; ﻩﻩ} ﻩthis、pstmt、close(); ﻩreturnflag ; } Override ﻩpublicboolean doUpdate(intcno)throwsException{ ﻩﻩboolean flag= false; ﻩﻩString sql ="UpdateCourseSetCname =? ,period=? ,term=? property=? WhereCno=? "; ﻩﻩthis、pstmt=this、conn、prepareStatement(sql); System、out、println(”输入您想要添加得课程得课程名: "); ﻩStringcname =new Scanner(System、in)、next() ; ﻩSystem、out、println(”输入您想要添加课程得学时: "); ﻩintperiod=newScanner(System、in)、nextInt(); ﻩSystem、out、println("输入您想要添加得课程得上课学期: ”); ﻩStringterm=newScanner(System、in)、next(); System、out、println("请输入您想要添加得课程得课程性质: ”); ﻩﻩStringproperty=newScanner(System、in)、next(); ﻩthis、pstmt、setString(1,cname); ﻩﻩthis、pstmt、setInt(2, period); ﻩthis、pstmt、setString(3,term); ﻩthis、pstmt、setString(4,property); ﻩﻩthis、pstmt、setInt(5,cno); ﻩﻩif(this、pstmt、executeUpdate()>0){ ﻩﻩflag=true; ﻩ} this、pstmt、close(); ﻩreturn flag ; } Override publicList ﻩList<Course>courses=newArrayList〈Course〉(); ﻩﻩStringsql="SelectCno,Cname,period,term,propertyFromCourse”; ﻩthis、pstmt= this、conn、prepareStatement(sql); ﻩResultSetrs =this、pstmt、executeQuery(); ﻩwhile(rs、next()){ ﻩﻩﻩCourse course=newCourse(); ﻩcourse、setCno(rs、getInt (1)); ﻩcourse、setCname(rs、getString(2)); ﻩﻩcourse、setPeriod(rs、getInt(3)); ﻩﻩcourse、setTerm(rs、getString(4)); ﻩcourse、setProperty(rs、getString(5)); ﻩcourses、add(course) ; ﻩ} ﻩthis、pstmt、close(); ﻩreturn courses; } ﻩOverride publicList ﻩﻩList<Course> courses= newArrayList<Course>(); String sql="SelectCno,Cname,period,term,propertyFrom CourseWhereCnamelike? ”+ ﻩﻩﻩ"ORtermlike? ORpropertylike? " ; ﻩthis、pstmt=this、conn、prepareStatement(sql); ﻩthis、pstmt、setString(1, "%”+keyWord+"%"); ﻩﻩthis、pstmt、setString(2,"%”+keyWord+"%"); ﻩthis、pstmt、setString(3,”%"+keyWord+”%”); ﻩResultSet rs=this、pstmt、executeQuery(); ﻩwhile(rs、next()){ ﻩCoursecourse =newCourse(); ﻩﻩﻩcourse、setCno(rs、getInt(1)) ; ﻩcourse、setCname(rs、getString (2)); ﻩcourse、setPeriod(rs、getInt(3)) ; ﻩﻩcourse、setTerm(rs、getString(4)) ; ﻩﻩcourse、setProperty(rs、getString(5)); ﻩcourses、add(course); ﻩ} ﻩthis、pstmt、close() ; ﻩﻩreturncourses; } ﻩOverride ﻩpublic Coursefind(intcno)throwsException { ﻩCoursecourse=newCourse(); ﻩﻩStringsql= ”SelectCno,Cname,period,term,propertyFrom CourseWhereCno= ? ”; ﻩﻩthis、pstmt=this、conn、prepareStatement(sql); ﻩthis、pstmt、setInt(1,cno) ; ﻩResultSetrs=this、pstmt、executeQuery(); ﻩwhile(rs、next()){ ﻩﻩcourse、setCno(rs、getInt(1)); ﻩcourse、setCname(rs、getString (2)); ﻩﻩcourse、setPeriod(rs、getInt(3)); ﻩcourse、setTerm(rs、getString(4)); ﻩcourse、setProperty(rs、getString(5)); ﻩﻩ} ﻩthis、pstmt、close(); ﻩreturncourse ; ﻩ} Override publicintgetAllCount()throwsException{ intcount=0; ﻩList<Course〉 courses =newArrayList〈Course>() ; ﻩStringsql ="SelectCno,Cname,period,term,propertyFromCourse"; ﻩthis、pstmt=this、conn、prepareStatement(sql); ﻩﻩResultSetrs= this、pstmt、executeQuery(); ﻩﻩwhile(rs、next()){ Course course =newCourse(); ﻩﻩcourse、setCno(rs、getInt (1)) ; ﻩcourse、setCname(rs、getString(2)); ﻩﻩcourse、setPeriod(rs、getInt(3)); ﻩcourse、setTerm(rs、getString(4)); ﻩﻩcourse、setProperty(rs、getString(5)); ﻩﻩcourses、add(course); ﻩ} count=courses、size(); ﻩﻩthis、pstmt、close(); ﻩﻩreturncount; ﻩ} Override publicintgetAllCount(String keyWord)throwsException{ ﻩintcount = 0; ﻩList〈Course>courses=newArrayList Stringsql=”SelectCno,Cname,period,term,propertyFrom CourseWhereCnamelike ? " + ﻩ"OR termlike? ORpropertylike? ”; ﻩthis、pstmt=this、conn、prepareStatement(sql); ﻩthis、pstmt、setString(1, ”%"+keyWord +"%”); ﻩthis、pstmt、setString(2, ”%”+keyWord+”%”) ; ﻩthis、pstmt、setString(3, ”%”+ keyWord+"%"); ﻩﻩResultSet rs =this、pstmt、executeQuery(); ﻩﻩwhile(rs、next()){ Cou
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程 信息管理 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)