• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于SQL Server與JAVA平臺(tái)的機(jī)票預(yù)定系統(tǒng)

      2018-09-05 10:19:04馬定爭(zhēng)薛益鴿
      關(guān)鍵詞:機(jī)票功能模塊航班

      馬定爭(zhēng) 薛益鴿

      文章編號(hào): 2095-2163(2018)03-0214-06中圖分類號(hào): 文獻(xiàn)標(biāo)志碼: A

      摘要: 關(guān)鍵詞: (College of Information Engineering, Wenzhou Business College, Wenzhou Zhejiang 325035, China)

      Abstract: This paper designs air ticket reservation system based on java, using Swing framework of java and using Eclipse integrated development environment under Windows system for development , using JDBC to connect to the database, which makes the spread of information between them become more convenient and faster. The user can install the database and conveniently store the data in the database. It is divided into domestic air ticket, international air ticket, order management and personal center.

      Key words:

      作者簡(jiǎn)介:

      通訊作者: 收稿日期: 引言

      隨著國(guó)內(nèi)社會(huì)經(jīng)濟(jì)發(fā)展,人民生活水平不斷提高,選擇以更為舒適和快捷的民航出行的旅客也越來(lái)越多,民航客運(yùn)正逐步完成由高端化服務(wù)向平民化服務(wù)的轉(zhuǎn)變。因此,機(jī)票預(yù)定服務(wù)成為了開啟航天旅行的第一步,此時(shí)一個(gè)好的機(jī)票預(yù)定系統(tǒng)顯得尤為重要。

      與傳統(tǒng)的C++語(yǔ)言相比,JAVA語(yǔ)言在編程和使用過(guò)程中更加人性化,能夠設(shè)計(jì)出計(jì)算機(jī)高度交互、安全穩(wěn)定的應(yīng)用軟件,在軟件開發(fā)的過(guò)程中更加方便迅捷。目前,眾多的軟件開發(fā)商也在逐漸支持JAVA開發(fā)的軟件,推動(dòng)了JAVA進(jìn)入PC市場(chǎng)的腳步1]。綜上所述,本文采用JAVA語(yǔ)言開發(fā)了一個(gè)機(jī)票預(yù)訂系統(tǒng)。

      1開發(fā)環(huán)境

      1.1MyEclipse

      MyEclipse是一個(gè)綜合性的工作平臺(tái)(MyEclipseEnterprise Workbench)。利用MyEclipse可以在數(shù)據(jù)庫(kù)和JavaEE的開發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面極大地提高工作效率。同時(shí),該平臺(tái)是一個(gè)功能豐富的JAVA集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能。

      MyEclipse是一個(gè)很好的用于開發(fā)java EE的 Eclipse插件的集合,MyEclipse的功能非常強(qiáng)大,支持也非常廣泛,尤其對(duì)于各種開源的產(chǎn)品支持很好。MyEclipse是一款付費(fèi)軟件,但由于MyEclipse具有非常強(qiáng)大的功能和豐富的插件系統(tǒng),使用該插件可以大大縮短工作時(shí)間。

      1.2 SQL Server

      SQL server是Microsoft公司推出的數(shù)據(jù)庫(kù)管理系統(tǒng),可以將數(shù)據(jù)存在各種設(shè)備上,從數(shù)據(jù)中心到PC端或者移動(dòng)設(shè)備。SQL server具有高效的特點(diǎn),使得用戶可以降低開發(fā)和管理數(shù)據(jù)源的時(shí)間和成本。SQL server為本文設(shè)計(jì)的軟件提供了強(qiáng)大的安全性和可靠性,并且使設(shè)計(jì)出的軟件具備完善的功能。

      2案例分析

      本文設(shè)計(jì)的機(jī)票預(yù)訂系統(tǒng)可以實(shí)現(xiàn)客戶在該系統(tǒng)上方便快捷地進(jìn)行購(gòu)票,同時(shí),客戶還能方便地查看機(jī)票的所有信息,其中包括:航班編號(hào)、艙位等級(jí)、乘客姓名、目的地、出發(fā)時(shí)間等重要信息。為了方便客戶的查詢,系統(tǒng)提供了訂單管理和個(gè)人中心模塊。綜上所述,本系統(tǒng)的設(shè)計(jì)目標(biāo)如下:

      (1)登入管理。注冊(cè)成為本系統(tǒng)的會(huì)員后可以進(jìn)行在線購(gòu)票、享受優(yōu)惠、快捷地進(jìn)行購(gòu)票管理。

      (2)國(guó)內(nèi)機(jī)票。查詢國(guó)內(nèi)航班的信息,包括航班編號(hào)、機(jī)艙等級(jí)、出發(fā)到達(dá)時(shí)間、票價(jià)、登機(jī)口號(hào)等。

      (3)國(guó)際機(jī)票。查詢國(guó)內(nèi)航班的信息,包括航班編號(hào)、機(jī)艙等級(jí)、出發(fā)到達(dá)時(shí)間、票價(jià)、登機(jī)口號(hào)等。

      (4)訂單管理??梢愿鶕?jù)訂單號(hào)、航班的出發(fā)日期、到達(dá)日期進(jìn)行查詢已訂購(gòu)的機(jī)票。也可以進(jìn)行機(jī)票的退訂。

      (5)個(gè)人中心。會(huì)員可以進(jìn)行修改密碼、上傳頭像等。

      該系統(tǒng)的功能示例圖和總體功能模塊如圖1和圖2所示。

      3程序設(shè)計(jì)

      3.1數(shù)據(jù)庫(kù)設(shè)計(jì)

      圖3示出了本文設(shè)計(jì)的數(shù)據(jù)庫(kù)的關(guān)系圖。從圖中可以看出,該數(shù)據(jù)庫(kù)共分為7個(gè)數(shù)據(jù)表,其中: User(用戶表)存放登錄會(huì)員的賬號(hào)、密碼;Sales(銷售表)存放訂單號(hào)、乘客名字、航班編號(hào)、銷售時(shí)間;Tourers(乘客表)存放乘客的信息,包括性別、身份證號(hào)、電話等信息;Tickets(訂單表)存放訂單編號(hào)、乘客名字、航班編號(hào)、艙位等級(jí)、出發(fā)時(shí)間、到達(dá)時(shí)間、機(jī)票價(jià)格、登機(jī)口號(hào);Flight(航班表)存放航班編號(hào)、公司編號(hào)、出發(fā)地、目的地、出發(fā)時(shí)間、達(dá)到時(shí)間、飛行長(zhǎng)度、機(jī)票價(jià)格;Company(公司表)存放公司名稱、公司ID、公司電話、公司地址;AirportCity(機(jī)場(chǎng)城市表)存放機(jī)場(chǎng)地址、機(jī)場(chǎng)城市、機(jī)場(chǎng)類型(國(guó)內(nèi)還是國(guó)外的)。上述每張表的關(guān)系結(jié)構(gòu)描述見表1。

      非空銷售銷售號(hào)Varchar10主鍵用戶名Varchar10非空機(jī)票號(hào)Varchar10非空銷售時(shí)間Datetime旅客旅客名Varchar10主鍵性別Bit非空身份證號(hào)碼Varchar20電話Varchar20機(jī)票機(jī)票號(hào)Varchar10主鍵旅客名Varcahr10非空航班號(hào)Varchar10非空航班等級(jí)Varchar10非空出發(fā)時(shí)間Varchar10非空到達(dá)時(shí)間Varcahr10非空價(jià)格Float非空登記口Int非空航班航班號(hào)Varchar10主鍵公司號(hào)Varchar10非空出發(fā)地Varchar20非空到達(dá)地Varchar20非空出發(fā)時(shí)間Varchar10非空到達(dá)時(shí)間Varchar10非空飛行時(shí)間Int公司公司名Varchar20非空公司號(hào)Varchar10主鍵公司電話Varchar20非空地址Varchar40非空3.2數(shù)據(jù)庫(kù)的連接

      本文采用JDBC(Java Data Base Connectivity)連接數(shù)據(jù)庫(kù)編寫數(shù)據(jù)庫(kù)應(yīng)用程序。JDBC由一組用JAVA語(yǔ)言編寫的類和接口組成,可以為軟件訪問(wèn)數(shù)據(jù)庫(kù)提供接口。本文首先創(chuàng)建一個(gè)DbUtil.JAVA類來(lái)連接數(shù)據(jù)庫(kù)。在使用軟件時(shí)各種功能都要連接數(shù)據(jù)庫(kù),因此把連接數(shù)據(jù)庫(kù)的代碼打包封裝。DbUntil.JAVA的代碼如下所示:

      packageUtil;

      importjava.sql.Connection;

      public classDbUtil {

      String driver ="com.microsoft.sqlserver.jdbl.SQLServerDriver";

      Stringurl ="jdbc;sqlserver://localhost:1433;DatabaseName=TRSystem";

      String user="sa";

      Stringpwd="123456";

      Connectionconn=null;

      @SuppressWarnings("finally")

      public Connection getcon() {

      try{

      Class.forName(driver);

      conn=DriverManager.getConnection(url,user,pwd);

      } catch (Exception e) {

      //TODO Auto-generated catch block

      e.printStackTrace();

      } finally{

      returnconn; } }

      public void close(Connectionconn) {

      if (conn!=null){

      try {

      conn.close();

      } catch (SQLException e){

      //TODO Auto-generated catch block

      e.printStackTrace();

      }

      } else {

      } } }

      3.3登錄、注冊(cè)功能模塊

      為了使用戶更好地體驗(yàn)到本系統(tǒng)的方便、快捷。登錄、注冊(cè)界面的設(shè)計(jì)遵循簡(jiǎn)潔美觀的原則。界面設(shè)定3個(gè)按鈕,分別為登錄、重置、注冊(cè)。重置功能是把輸入框置空。注冊(cè)界面如圖4所示。

      用戶在登錄、注冊(cè)時(shí)都會(huì)與數(shù)據(jù)庫(kù)發(fā)生信息的交互。利用傳參使用戶在輸入框里輸入的數(shù)字和數(shù)據(jù)庫(kù)中的數(shù)據(jù)發(fā)生交互,驗(yàn)證密碼的正確性。注冊(cè)利用了SQL的插入語(yǔ)句,通過(guò)JDBC實(shí)現(xiàn)用戶的注冊(cè)。登錄、注冊(cè)功能模塊的核心代碼如下所示:

      private voidjButtonlActionPerformed(java.awt.event.ActionEvent evt) {

      // TODO add your handling code here:

      StringuserName = this.jTextFieldl.getText();

      String password = new String(this.jPl.getPassword());

      if (StringUtil.isEmpty(userName)) {

      JOPtionPane.showMessageDialog(null, "用戶名不能為空!");

      return;

      }

      if (StringUtil.isEmpty(password)) {

      JOPtionPane.showMessageDialog(null, "密碼不能為空!");

      return;

      }

      Useruser = new User(userName, password);

      try {

      UsercurrentUser = userDao.login(user);

      if (currentUser != null) {

      JOPtionPane.showMessageDialog(null, "登陸成功!");

      this.dispose();

      String Name = userName;

      Mainfrm mainfrm = new Mainfrm(Name);

      mainfrm.setVisible(true);

      } else {

      JOPtionPane.showMessageDialog(null, "用戶名或密碼錯(cuò)誤!");

      return;

      }

      } catch (Exception e) {

      // TODO: handle exception

      e.printStackTrace(); } }

      3.4選票訂票功能模塊

      用戶點(diǎn)擊國(guó)內(nèi)機(jī)票按鈕,通過(guò)選擇出發(fā)城市、目的城市、出發(fā)日期查看航班信息,然后進(jìn)行購(gòu)票。用戶不需要點(diǎn)擊查詢按鈕就可進(jìn)行數(shù)據(jù)的刷新,增加了用戶的UI體驗(yàn)。點(diǎn)擊數(shù)據(jù)中的購(gòu)買按鈕,輸入乘客的信息就能快捷地購(gòu)買機(jī)票。圖5示出了國(guó)內(nèi)機(jī)票功能模塊。

      國(guó)內(nèi)機(jī)票和國(guó)際機(jī)票的UI界面和功能實(shí)現(xiàn)全部由代碼編寫。本文采用動(dòng)作監(jiān)聽事件,當(dāng)鼠標(biāo)點(diǎn)擊出發(fā)城市、目的城市、出發(fā)時(shí)間時(shí),系統(tǒng)將用戶的數(shù)據(jù)傳送到后臺(tái),實(shí)現(xiàn)了不用鼠標(biāo)點(diǎn)擊查詢就可查詢航班信息的功能。核心代碼如下所示:

      final JDesktopPane jDesktopPane = new JDesktopPane();

      JButtonbefore = new JButton("上一頁(yè)");

      JButtonnext = new JButton("下一頁(yè)");

      finalJTextField dateText = new JTextField();

      JLabeljLabellv1 = newJLabel("出發(fā)城市:");

      JLabeljLabellv2 = newJLabel("目的地城市:");

      finalJLabeljLabellv3 = newJLabel("出發(fā)日期:")

      3.5訂單管理功能模塊

      用戶訂購(gòu)機(jī)票后,可以進(jìn)入訂單管理功能模塊進(jìn)行機(jī)票信息查詢,退訂等操作。與選票訂票功能模塊不同,訂單管理功能模塊使用了MyEclipse中的Swing組件。通過(guò)可視化進(jìn)行UI布局及簡(jiǎn)單功能的實(shí)現(xiàn)。圖6示出了訂單管理功能模塊。

      訂單管理模塊可以分別根據(jù)訂單號(hào)、預(yù)定日期進(jìn)行查詢。通過(guò)參數(shù)傳遞,把數(shù)據(jù)傳遞給執(zhí)行SQL語(yǔ)句的JAVA類進(jìn)行數(shù)據(jù)的查詢與退訂。查詢按鈕設(shè)置了鼠標(biāo)監(jiān)聽功能,當(dāng)點(diǎn)擊查詢按鈕時(shí),會(huì)把訂單號(hào)、預(yù)定日期等參數(shù)傳入TicketDao.java 類中,執(zhí)行此類中已創(chuàng)建的方法。部分代碼如下 :

      //訂單查詢

      public List list1(MTickets mtickets,String username) {

      List listTickets = new ArrayList();

      try {

      PreparedStatement pr = conn.prepare Statement(sql);

      t = new MTickets();

      t.setSaleld(rs.getString("SaleId"));

      listTickets.add(t);

      }

      } catch (Exception e) {

      e.printStackTrace();

      } finally {

      dbUtil.close(conn);

      }

      return listTickets;

      }//日期查詢

      public List list2(MTickets mtickets,String username,String St1,String St2) {

      if(mtickets.getSaleld()!=null)sql+= " and SaleId='"+mtickets.getSaleld()+"' ";

      if(St1!="選擇日期"&&St2;!="選擇日期")sql+=" and SaleTime between '"+St1+"' and '"+St2+"'";

      System.out.println(St1);

      try {

      PreparedStatement pr = conn.prepare Statement(sql);

      ResultSet rs = pr.executeQuery();

      MTickets t = null;

      while (rs.next()) {

      t = new MTickets();

      t.setSaleld(rs.getString("SaleId"));

      }

      } catch (Exception e) {

      e.printStackTrace();

      } finally {

      dbUtil.close(conn);

      }

      return listTickets; }

      當(dāng)用戶取消行程進(jìn)行退票時(shí),退訂按鈕設(shè)置一個(gè)常用的動(dòng)作監(jiān)聽功能,當(dāng)鼠標(biāo)點(diǎn)擊此按鈕時(shí),用戶所選的機(jī)票信息傳入下方的方框,點(diǎn)擊退訂可以把參數(shù)傳入TicketDao.java 類中來(lái)執(zhí)行SQL的刪除語(yǔ)句。圖7示出了退票功能模塊,點(diǎn)擊乘客為張三的機(jī)票,數(shù)據(jù)實(shí)時(shí)傳入訂單操作的表單里,確定用戶訂單信息,進(jìn)行退訂。

      3.6個(gè)人中心功能模塊

      個(gè)人中心具有修改密碼和查詢近期訂單的功能。實(shí)現(xiàn)效果如圖8所示。

      實(shí)現(xiàn)了SQL語(yǔ)句的更新操作。部分代碼如下:

      private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

      String pwd = jLabel4.getText();

      if (StringUtil.isEmpty(oldPwd)) {

      JOptionPane.showMessageDialog(null, "原密碼不能為空!");

      return; }

      if (a != 0) {

      JOptionPane.showMessageDialog(null, "修改成功?。埽躰新密碼為" + newPwd1+ "。");

      this.dispose();

      } else {

      JOptionPane.showMessageDialog(null, "Wrong!");

      return; } } }

      4結(jié)束語(yǔ)

      航空出行已經(jīng)成為人們普遍選擇的一種交通工具,本文設(shè)計(jì)的系統(tǒng)利用SQLServer2008作為服務(wù)器數(shù)據(jù)庫(kù),并使用Swing、JDBC、JAVA、util、EventListene等技術(shù)實(shí)現(xiàn)注冊(cè)、登錄、航班查詢、訂單管理、個(gè)人中心等功能。UI界面簡(jiǎn)潔美觀,各功能能夠正常使用,同時(shí)也注重用戶的體驗(yàn)。不過(guò)龐大的機(jī)票預(yù)定系統(tǒng)需要各方面的技術(shù)支持,本文所設(shè)計(jì)的軟件只從功能角度簡(jiǎn)單地實(shí)現(xiàn)了機(jī)票預(yù)定系統(tǒng),在系統(tǒng)的結(jié)構(gòu)架設(shè)、系統(tǒng)安全性能、用戶體驗(yàn)等方面還有待完善。

      參考文獻(xiàn)

      [1] 李政. 試論Java編程的現(xiàn)狀及其發(fā)展前景[J].電子制作,2013(19):81.

      [2] 李莫凡.淺析java現(xiàn)狀和前景[J]. 電腦迷,2016(2):78.

      [3] 翁春榮.基于計(jì)算機(jī)軟件開發(fā)的JAVA編程語(yǔ)言分析[J]. 山西能源學(xué)院報(bào),2017,30(4):204-205,219.

      [4] 韓璐. 基于Web的航空票務(wù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D]. 西安電子科技大學(xué), 2013.

      [5] 韓若冰. 機(jī)票預(yù)定系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D]. 廈門大學(xué),2014.

      [6] 周寶亮,王敏.計(jì)算機(jī)軟件開發(fā)中JAVA編程語(yǔ)言的應(yīng)用[J]. 電子技術(shù)與軟件工程,2017(3):61-62.

      [7] 王小虎. 影票在線預(yù)訂系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D]. 吉林大學(xué),2017.

      [8] 李煒杰.計(jì)算機(jī)軟件開發(fā)的JAVA編程語(yǔ)言分析[J]. 知音勵(lì)志,2017(10):131.

      [9] 田智.基于計(jì)算機(jī)軟件開發(fā)的JAVA編程語(yǔ)言分析[J]. 硅谷,2014,7(19):59,37.

      [10]邢俊鑫.基于Java編程語(yǔ)言的計(jì)算機(jī)軟件開發(fā)技術(shù)[J]. 電子技術(shù)與軟件工程,2017(23):47-48.

      [11]張波. 基于Java的數(shù)據(jù)庫(kù)訪問(wèn)引擎的研究與實(shí)現(xiàn)[D]. 中南大學(xué),2007.(

      猜你喜歡
      機(jī)票功能模塊航班
      愛逗小鎮(zhèn)(8)
      全美航班短暫停飛
      山航紅色定制航班
      金橋(2021年10期)2021-11-05 07:23:10
      山航紅色定制航班
      金橋(2021年8期)2021-08-23 01:06:24
      山航紅色定制航班
      金橋(2021年7期)2021-07-22 01:55:10
      基于ASP.NET標(biāo)準(zhǔn)的采購(gòu)管理系統(tǒng)研究
      輸電線路附著物測(cè)算系統(tǒng)測(cè)算功能模塊的研究
      M市石油裝備公服平臺(tái)網(wǎng)站主要功能模塊設(shè)計(jì)與實(shí)現(xiàn)
      虛擬體驗(yàn)式營(yíng)銷對(duì)顧客在線行為的作用機(jī)制--以線上機(jī)票銷售為例
      功能模塊的設(shè)計(jì)與應(yīng)用研究
      环江| 紫云| 鸡泽县| 新乡市| 公安县| 开远市| 剑川县| 高雄市| 益阳市| 凤山县| 内江市| 岫岩| 屯留县| 钦州市| 余庆县| 招远市| 江山市| 都昌县| 锡林浩特市| 泗水县| 分宜县| 中卫市| 九龙城区| 安西县| 香格里拉县| 信阳市| 大洼县| 泾川县| 肥西县| 黔南| 麻栗坡县| 启东市| 葵青区| 夹江县| 门源| 射洪县| 阿城市| 临泽县| 曲靖市| 青川县| 宣汉县|