2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩39頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p>  面向?qū)ο笳n程設(shè)計(jì) 報(bào)告</p><p>  --(題目實(shí)驗(yàn)室設(shè)備信息管理系統(tǒng))</p><p><b>  目錄</b></p><p>  1 課程設(shè)計(jì)任務(wù)和概述3</p><p>  1.1 設(shè)計(jì)目的3</p><p><b>  1.2設(shè)計(jì)意義3<

2、/b></p><p>  1.3 設(shè)計(jì)任務(wù)3</p><p>  1.4 開(kāi)發(fā)環(huán)境3</p><p>  2 系統(tǒng)分析與建模4</p><p>  2.1 系統(tǒng)功能分析4</p><p>  2.2 用例圖及用例說(shuō)明5</p><p>  2.2.1用戶(hù)登錄用例5</p

3、><p>  2.2.2 整體用例框圖6</p><p><b>  3 系統(tǒng)設(shè)計(jì)7</b></p><p>  3.1 系統(tǒng)類(lèi)圖7</p><p>  3.2 系統(tǒng)活動(dòng)圖10</p><p>  3.2.1 用例“用戶(hù)登錄”活動(dòng)圖10</p><p>  3.2.2

4、用例“用戶(hù)登錄成功”活動(dòng)圖11</p><p>  3.3 系統(tǒng)時(shí)序圖12</p><p>  3.3.1查詢(xún)?cè)O(shè)備信息時(shí)序圖12</p><p>  3.3.2添加設(shè)備信息時(shí)序圖13</p><p>  3.3.3修改設(shè)備信息時(shí)序圖14</p><p>  3.3.4刪除設(shè)備信息時(shí)序圖14</p&g

5、t;<p><b>  4 系統(tǒng)實(shí)現(xiàn)15</b></p><p>  4.1系統(tǒng)管理員模塊15</p><p>  4.2查詢(xún)?cè)O(shè)備所有信息模塊21</p><p>  4.3添加設(shè)備信息模塊29</p><p>  4.4修改設(shè)備信息模塊31</p><p>  4.5刪除

6、設(shè)備信息模塊32</p><p><b>  5 系統(tǒng)測(cè)試34</b></p><p>  6 課程設(shè)計(jì)總結(jié)39</p><p><b>  7 參考文獻(xiàn)39</b></p><p>  實(shí)驗(yàn)室設(shè)備信息管理系統(tǒng)設(shè)計(jì)報(bào)告</p><p>  1 課程設(shè)計(jì)任務(wù)和概述<

7、;/p><p><b>  1.1 設(shè)計(jì)目的</b></p><p>  “面向?qū)ο蠹夹g(shù)”是計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè)的核心專(zhuān)業(yè)課,面向?qū)ο蟪绦蛟O(shè)計(jì)技術(shù)也是軟件工程師的基本技能,“面向?qū)ο笳n程設(shè)計(jì)”的目的是理解和鞏固面向?qū)ο蟪绦蛟O(shè)計(jì)的基本理論、原理和方法的重要的實(shí)踐環(huán)節(jié)。 </p><p>  本課程設(shè)計(jì)綜合應(yīng)用學(xué)生所學(xué)知識(shí),結(jié)合小型應(yīng)用系統(tǒng)的設(shè)計(jì),建立

8、面向?qū)ο蟪绦蛟O(shè)計(jì)的概念,理解和鞏固封裝、類(lèi)與對(duì)象、繼承與多態(tài)、JAVA數(shù)據(jù)結(jié)構(gòu)、多線程、IO、UI設(shè)計(jì)及UML等知識(shí),為后續(xù)課程的學(xué)習(xí)打下良好的基礎(chǔ)。 </p><p><b>  1.2設(shè)計(jì)意義</b></p><p>  使用實(shí)驗(yàn)室管理系統(tǒng)使得查詢(xún)工作更系統(tǒng)化、規(guī)范化、自動(dòng)化。從而在一方面提高了管理人員的工作效率,減少了傳統(tǒng)人工管理方式所帶來(lái)的人力,物力的浪費(fèi),另

9、一方面由于本軟件具有查找方便、可靠性高、存儲(chǔ)量大等優(yōu)點(diǎn),大大地減少了系統(tǒng)的富復(fù)雜性。</p><p><b>  1.3 設(shè)計(jì)任務(wù)</b></p><p>  該系統(tǒng)主要任務(wù)是實(shí)現(xiàn)實(shí)驗(yàn)室設(shè)備基本信息的增加、刪除、修改查詢(xún),包括設(shè)備型號(hào)、設(shè)備名稱(chēng)、生產(chǎn)廠商,單價(jià)等。管理員可以根據(jù)設(shè)備的名稱(chēng)、設(shè)備型號(hào)等關(guān)鍵字進(jìn)行設(shè)備信息的查詢(xún);大大提高了管理設(shè)備的效率,實(shí)時(shí)性的觀察設(shè)備信

10、息更新。</p><p><b>  1.4 開(kāi)發(fā)環(huán)境</b></p><p>  操作系統(tǒng):Windows 7 32位/64位</p><p>  軟件:eclipse 3.7</p><p>  數(shù)據(jù)庫(kù):MySQL 5.0</p><p><b>  2 系統(tǒng)分析與建模&l

11、t;/b></p><p>  2.1 系統(tǒng)功能分析</p><p><b>  主要功能包括:</b></p><p><b>  設(shè)備添加信息:</b></p><p>  該部分功能主要是用于系統(tǒng)設(shè)備管理員輸入設(shè)備的各種信息,加強(qiáng)系統(tǒng)的可擴(kuò)展性和延續(xù)性,使系統(tǒng)信息保持更新。</p&

12、gt;<p><b>  瀏覽設(shè)備信息:</b></p><p>  瀏覽全部的設(shè)備信息,將所有的設(shè)備信息都展示出來(lái)方便用戶(hù)調(diào)用,只要適用于實(shí)驗(yàn)室管理員</p><p><b>  查詢(xún)?cè)O(shè)備信息:</b></p><p>  查詢(xún)?cè)O(shè)備信息,以及相關(guān)資料,查詢(xún)分兩種方式,一種是按設(shè)備型號(hào)查詢(xún),另一種是按設(shè)備名稱(chēng)

13、查詢(xún)。</p><p><b>  刪除設(shè)備信息:</b></p><p>  刪除設(shè)備信息功能主要用于更新設(shè)備信息數(shù)據(jù),對(duì)于不必要的信息和錯(cuò)誤的過(guò)時(shí)的信息進(jìn)行相關(guān)處理,有利于簡(jiǎn)化系統(tǒng),對(duì)于系統(tǒng)的運(yùn)行速度的提升有著良好的加速效果。</p><p><b>  修改設(shè)備信息:</b></p><p>

14、  此功能用于修改設(shè)備信息,使用權(quán)限均適用于普通用戶(hù)。進(jìn)行設(shè)備信息的相關(guān)修改對(duì)于系統(tǒng)的正常運(yùn)行有著顯著的作用。</p><p><b>  系統(tǒng)登錄:</b></p><p>  合法的用戶(hù)和系統(tǒng)的管理員才可以進(jìn)入系統(tǒng),他們具有權(quán)限不一樣,管理員可以操作該系統(tǒng)的一切功能,而用戶(hù)只能查看和瀏覽設(shè)備的信息。</p><p>  2.2 用例圖及用例

15、說(shuō)明</p><p>  2.2.1用戶(hù)登錄用例</p><p>  (1)用戶(hù)登錄用例描述</p><p>  用戶(hù)登錄,是本系統(tǒng)提供的一項(xiàng)基本服務(wù)。在實(shí)驗(yàn)室設(shè)備信息管理系統(tǒng)的建模過(guò)程中,將這一行為抽象為一個(gè)用例。在不考慮軟件的具體實(shí)現(xiàn)細(xì)節(jié)基礎(chǔ)上,給出如下的用例描述。</p><p> ?。?)用戶(hù)登錄用例圖</p><

16、p>  根據(jù)(1)的用例描述,畫(huà)出用戶(hù)登錄用例圖,見(jiàn)圖1。</p><p>  圖1用戶(hù)登錄模塊的用例圖</p><p>  用戶(hù)登錄模塊用例主要提供兩個(gè)基本功能:</p><p> ?。?)用戶(hù)通過(guò)登錄界面輸入“用戶(hù)名”和“密碼”;</p><p> ?。?)系統(tǒng)對(duì)用戶(hù)輸入的“用戶(hù)名”和“密碼”進(jìn)行驗(yàn)證,以判斷用戶(hù)身份的合法性。<

17、;/p><p>  2.2.2 整體用例框圖</p><p>  圖2設(shè)備信息系統(tǒng)的整體用例框圖</p><p><b>  3 系統(tǒng)設(shè)計(jì)</b></p><p><b>  3.1 系統(tǒng)類(lèi)圖</b></p><p>  (1)Device類(lèi)和User類(lèi)的UML圖</p&g

18、t;<p> ?。?)MainFrameUI類(lèi)和LoginIU類(lèi)UML圖</p><p>  (3)QueryUI查詢(xún)類(lèi)、AddDevice添加類(lèi)、UpdateUI修改類(lèi)的UML圖</p><p>  (4)整個(gè)系統(tǒng)的UML框架圖</p><p><b>  3.2 系統(tǒng)活動(dòng)圖</b></p><p>  

19、3.2.1 用例“用戶(hù)登錄”活動(dòng)圖</p><p>  用例“用戶(hù)登錄成功”活動(dòng)圖</p><p><b>  3.3 系統(tǒng)時(shí)序圖</b></p><p>  3.3.1 查詢(xún)?cè)O(shè)備信息時(shí)序圖</p><p>  3.3.2添加設(shè)備信息時(shí)序圖</p><p>  3.3.3修改設(shè)備信息時(shí)序圖<

20、/p><p>  3.3.4刪除設(shè)備信息時(shí)序圖</p><p><b>  4 系統(tǒng)實(shí)現(xiàn)</b></p><p>  4.1系統(tǒng)管理員模塊</p><p>  本模塊主要是為了往數(shù)據(jù)庫(kù)中管理設(shè)備信息記錄,以及添加新的設(shè)備信息記錄、修改需要變更的信息、刪除已經(jīng)停行的設(shè)備記錄等,對(duì)現(xiàn)有的系統(tǒng)進(jìn)行管理操作,保證實(shí)驗(yàn)室設(shè)備信息管理的

21、合理性。 </p><p><b>  詳細(xì)代碼:</b></p><p><b>  (1)User類(lèi):</b></p><p>  package dao;</p><p>  public class User {</p><p>  //1 兩個(gè)屬性&l

22、t;/p><p>  private int id;</p><p>  private String uname;</p><p>  private String passwd;</p><p><b>  //2 構(gòu)造方法</b></p><p>  public User(int id, St

23、ring uname, String passwd) {</p><p><b>  super();</b></p><p>  this.id = id;</p><p>  this.uname = uname;</p><p>  this.passwd = passwd;</p><p>

24、;<b>  }</b></p><p>  public User(String uname, String passwd) {</p><p><b>  super();</b></p><p>  this.uname = uname;</p><p>  this.passwd = pas

25、swd;</p><p><b>  }</b></p><p>  //3 get和set方法</p><p>  public String getUname() {</p><p>  return uname;</p><p><b>  }</b></p>

26、;<p>  public int getId() {</p><p>  return id;</p><p><b>  }</b></p><p>  public void setId(int id) {</p><p>  this.id = id;</p><p><

27、;b>  }</b></p><p>  public void setUname(String uname) {</p><p>  this.uname = uname;</p><p><b>  }</b></p><p>  public String getPasswd() {</p&

28、gt;<p>  return passwd;</p><p><b>  }</b></p><p>  public void setPasswd(String passwd) {</p><p>  this.passwd = passwd;</p><p><b>  }</b>

29、;</p><p><b>  }</b></p><p> ?。?)界面LoginUI類(lèi)</p><p>  import service.IDeviceService;</p><p>  import dao.User;</p><p>  public class LoginUI exte

30、nds JDialog {</p><p>  static final int OK=1,CANCEL=0;</p><p>  private int ModalResult = -1;</p><p>  private final JPanel contentPanel = new JPanel();</p><p>  privat

31、e JLabel lblLogon;</p><p>  private JLabel lblUserName;</p><p>  private JLabel lblPassWd;</p><p>  private JTextField txtUserName;</p><p>  private JPasswordField txtP

32、assWd;</p><p>  private JButton btnLogon;</p><p>  private JButton btnCancel;</p><p><b>  /**</b></p><p>  * Launch the application.</p><p><

33、;b>  */</b></p><p>  public static void main(String[] args) {</p><p><b>  try {</b></p><p>  LoginUI dialog = new LoginUI();</p><p>  dialog.setDef

34、aultCloseOperation(JDialog.DISPOSE_ON_CLOSE);</p><p>  dialog.setVisible(true);</p><p>  } catch (Exception e) {</p><p>  e.printStackTrace();</p><p><b>  }</b

35、></p><p><b>  }</b></p><p><b>  /**</b></p><p>  * Create the dialog.</p><p><b>  */</b></p><p>  public LoginUI() {

36、</p><p><b>  //設(shè)置模式對(duì)話框</b></p><p>  setModal(true);</p><p>  setTitle("用戶(hù)登錄");</p><p>  setBounds(100, 100, 277, 189);</p><p>  getCo

37、ntentPane().setLayout(new BorderLayout());</p><p>  contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));</p><p>  getContentPane().add(contentPanel, BorderLayout.CENTER);</p><p>  c

38、ontentPanel.setLayout(null);</p><p>  lblUserName = new JLabel("用戶(hù)名");</p><p>  lblUserName.setBounds(27, 31, 54, 15);</p><p>  contentPanel.add(lblUserName);</p>&

39、lt;p>  lblPassWd = new JLabel("密碼");</p><p>  lblPassWd.setBounds(27, 69, 54, 15);</p><p>  contentPanel.add(lblPassWd);</p><p>  txtUserName = new JTextField();</p&

40、gt;<p>  txtUserName.setBounds(106, 28, 120, 21);</p><p>  contentPanel.add(txtUserName);</p><p>  txtUserName.setColumns(10);</p><p>  txtPassWd = new JPasswordField();</

41、p><p>  txtPassWd.setBounds(106, 66, 120, 21);</p><p>  contentPanel.add(txtPassWd);</p><p><b>  {</b></p><p>  JPanel buttonPane = new JPanel();</p>&l

42、t;p>  buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));</p><p>  getContentPane().add(buttonPane, BorderLayout.SOUTH);</p><p>  btnLogon = new JButton("登錄");</p><p&

43、gt;<b>  //登錄按鈕的功能</b></p><p>  btnLogon.addActionListener(new ActionListener() {</p><p>  public void actionPerformed(ActionEvent arg0) {</p><p><b>  //設(shè)置返回狀態(tài)碼<

44、/b></p><p>  ModalResult = OK ;</p><p><b>  //隱藏對(duì)話框</b></p><p>  setVisible(false);</p><p><b>  }</b></p><p><b>  });</

45、b></p><p>  btnLogon.setActionCommand("OK");</p><p>  buttonPane.add(btnLogon);</p><p>  getRootPane().setDefaultButton(btnLogon);</p><p>  btnCancel = new

46、 JButton("取消");</p><p><b>  //取消按鈕的功能</b></p><p>  btnCancel.addActionListener(new ActionListener() {</p><p>  public void actionPerformed(ActionEvent e) {<

47、/p><p>  ModalResult = CANCEL ;</p><p>  setVisible(false);</p><p><b>  }</b></p><p><b>  });</b></p><p>  btnCancel.setActionCommand(

48、"Cancel");</p><p>  buttonPane.add(btnCancel);</p><p><b>  }</b></p><p><b>  }</b></p><p>  //獲得登錄用戶(hù)信息</p><p>  public U

49、ser getUser(){</p><p>  return new User(</p><p>  txtUserName.getText(),</p><p>  new String(txtPassWd.getPassword())</p><p><b>  );</b></p><p>

50、;<b>  }</b></p><p><b>  /**</b></p><p>  * @return the modalResult</p><p><b>  * 獲取返回狀態(tài)碼</b></p><p><b>  */</b></p>

51、;<p>  public int getModalResult() {</p><p>  return ModalResult;</p><p><b>  }</b></p><p><b>  //清除登錄痕跡</b></p><p>  public void clear()

52、{</p><p>  txtUserName.setText("");</p><p>  txtPassWd.setText("");</p><p><b>  }</b></p><p><b>  }</b></p><p>

53、 ?。?)DeviceUserDao接口(考慮到有多個(gè)方法功能,我們用接口實(shí)現(xiàn)多繼承)</p><p>  public interface DeviceUserDao extends IBaseDao<Device,Integer>{</p><p>  //這個(gè)接口里會(huì)實(shí)現(xiàn)兩個(gè)方法 1.查找用戶(hù)名和密碼的方法 </p><p>  public

54、abstract User findByNamePassword(String uname,String passwd);</p><p>  // 2. 顯示用戶(hù)表的所有的值</p><p>  public abstract List<User> findAll();</p><p>  // 3.顯示設(shè)備查詢(xún)的所有值</p><

55、;p>  public abstract List<Device> findDeviceAll();</p><p><b>  }</b></p><p> ?。?)實(shí)現(xiàn)接口DeviceUserDao里的具體方法</p><p>  public class DeviceServiceImpl implements IDe

56、viceService{</p><p>  //實(shí)現(xiàn)登錄用戶(hù)功能的結(jié)果</p><p><b>  @Override</b></p><p>  public User findByNamePassword(String uname, String passwd){</p><p>  return deviceda

57、o.findByNamePassword(uname, passwd);</p><p><b>  }</b></p><p>  //實(shí)現(xiàn)用戶(hù)查詢(xún)的結(jié)果</p><p><b>  @Override</b></p><p>  public List<User> findAll()

58、{</p><p>  return devicedao.findAll();</p><p><b>  }</b></p><p><b>  }</b></p><p>  // 下面來(lái)寫(xiě)查找用戶(hù)名和密碼的方法findByNamePassword()實(shí)現(xiàn)登陸功能!</p><

59、;p><b>  @Override</b></p><p>  public User findByNamePassword(String uname, String passwd) {</p><p>  User user = null;</p><p>  Connection con = JDBCConnectionFactor

60、y.getConnection();</p><p><b>  try {</b></p><p>  PreparedStatement pstmt = con</p><p>  .prepareStatement("select name,password from user where name=? and password

61、=?");</p><p>  pstmt.setString(1, uname);</p><p>  pstmt.setString(2, passwd);</p><p>  ResultSet rs = pstmt.executeQuery();</p><p>  if (rs.next()) {</p>&

62、lt;p>  user = new User(rs.getString(1),</p><p>  rs.getString(2));</p><p><b>  }</b></p><p>  } catch (SQLException e) {</p><p>  e.printStackTrace();<

63、;/p><p>  } finally {</p><p>  if (con != null)</p><p><b>  try {</b></p><p>  con.close();</p><p>  } catch (SQLException e) {</p><p&g

64、t;  e.printStackTrace();</p><p><b>  }</b></p><p><b>  }</b></p><p>  return user;</p><p><b>  }</b></p><p>  // 接下來(lái)我們就

65、要實(shí)現(xiàn)這個(gè)(User)表的查詢(xún)啦 和上面類(lèi)似</p><p><b>  @Override</b></p><p>  public List<User> findAll() {</p><p>  List<User> list = new ArrayList<User>();</p>&l

66、t;p>  Connection conn = JDBCConnectionFactory.getConnection();</p><p><b>  try {</b></p><p>  Statement stmt = conn.createStatement();</p><p>  String sql = "sel

67、ect id, name, password from user order by id asc";</p><p>  ResultSet rs = stmt.executeQuery(sql);</p><p>  while (rs.next()) {</p><p>  list.add(new User(rs.getInt(1), </p

68、><p>  rs.getString(2),</p><p>  rs.getString(3))</p><p><b>  );</b></p><p><b>  }</b></p><p>  } catch (SQLException e) {</p>

69、<p>  // TODO Auto-generated catch block</p><p>  e.printStackTrace();</p><p>  } finally {</p><p>  if (conn != null) {</p><p><b>  try {</b></p>

70、;<p>  conn.close();</p><p>  } catch (SQLException e) {</p><p>  // TODO Auto-generated catch block</p><p>  e.printStackTrace();</p><p><b>  }</b>&

71、lt;/p><p><b>  }</b></p><p><b>  }</b></p><p>  return list;</p><p><b>  }</b></p><p>  4.2查詢(xún)?cè)O(shè)備所有信息模塊</p><p>

72、  管理員可以瀏覽設(shè)備的所有信息,實(shí)時(shí)觀察設(shè)備信息的動(dòng)態(tài)性</p><p><b>  設(shè)備類(lèi)</b></p><p><b> ?。―evice類(lèi))</b></p><p>  package dao;</p><p>  public class Device {</p><

73、p>  //1 7個(gè)屬性 </p><p>  private int id;</p><p>  private String dno;</p><p>  private String dname;</p><p>  private String dproducer;</p><p>  private

74、 String dprice;</p><p>  private String dcount;</p><p>  private String dsum;</p><p>  //2 構(gòu)造方法</p><p>  public Device(String dno, String dname, String dproducer, S

75、tring dprice,</p><p>  String dcount, String dsum) {</p><p><b>  super();</b></p><p>  this.dno = dno;</p><p>  this.dname = dname;</p><p>  th

76、is.dproducer = dproducer;</p><p>  this.dprice = dprice;</p><p>  this.dcount = dcount;</p><p>  this.dsum = dsum;</p><p><b>  }</b></p><p>  p

77、ublic Device(int id, String dno, String dname, String dproducer,</p><p>  String dprice, String dcount, String dsum) {</p><p><b>  super();</b></p><p>  this.id = id;<

78、;/p><p>  this.dno = dno;</p><p>  this.dname = dname;</p><p>  this.dproducer = dproducer;</p><p>  this.dprice = dprice;</p><p>  this.dcount = dcount;</

79、p><p>  this.dsum = dsum;</p><p><b>  }</b></p><p>  // 3 7個(gè)set和get方法</p><p>  public int getId() {</p><p>  return id;</p><p><

80、b>  }</b></p><p>  public void setId(int id) {</p><p>  this.id = id;</p><p><b>  }</b></p><p>  public String getDno() {</p><p>  ret

81、urn dno;</p><p><b>  }</b></p><p>  public void setDno(String dno) {</p><p>  this.dno = dno;</p><p><b>  }</b></p><p>  public Str

82、ing getDname() {</p><p>  return dname;</p><p><b>  }</b></p><p>  public void setDname(String dname) {</p><p>  this.dname = dname;</p><p><

83、;b>  }</b></p><p>  public String getDproducer() {</p><p>  return dproducer;</p><p><b>  }</b></p><p>  public void setDproducer(String dproducer)

84、 {</p><p>  this.dproducer = dproducer;</p><p><b>  }</b></p><p>  public String getDprice() {</p><p>  return dprice;</p><p><b>  }</

85、b></p><p>  public void setDprice(String dprice) {</p><p>  this.dprice = dprice;</p><p><b>  }</b></p><p>  public String getDcount() {</p><p

86、>  return dcount;</p><p><b>  }</b></p><p>  public void setDcount(String dcount) {</p><p>  this.dcount = dcount;</p><p><b>  }</b></p>

87、;<p>  public String getDsum() {</p><p>  return dsum;</p><p><b>  }</b></p><p>  public void setDsum(String dsum) {</p><p>  this.dsum = dsum;</p

88、><p><b>  }</b></p><p><b>  }</b></p><p> ?。?)IDeviceService設(shè)備接口類(lèi)(根據(jù)設(shè)計(jì)模式直接調(diào)用接口就行)</p><p>  【考慮到多個(gè)方法,這里還是選用接口,實(shí)現(xiàn)多繼承完成具體功能】</p><p>  pub

89、lic interface IDeviceService {</p><p>  public void setDevicedao(deviceDaoImpl devicedao);</p><p>  public List<User> findAll();</p><p>  public User findByNamePassword(String

90、 uname, String passwd);</p><p>  public List<Device> findDeviceAll();</p><p>  public boolean delete(Integer id);</p><p>  public boolean update(Device device);</p><

91、;p>  public Device findById(Integer id);</p><p>  public boolean insert(Device device);</p><p><b>  }</b></p><p> ?。?)實(shí)現(xiàn)接口(DeviceServiceImpl)的具體方法</p><p&g

92、t;  package service;</p><p>  import java.util.List;</p><p>  import dao.Device;</p><p>  import dao.User;</p><p>  import dao.deviceDaoImpl;</p><p>  publ

93、ic class DeviceServiceImpl implements IDeviceService{</p><p>  //定義一個(gè)具體方法的類(lèi)的一個(gè)</p><p>  private deviceDaoImpl devicedao;</p><p><b>  @Override</b></p><p>  

94、public void setDevicedao(deviceDaoImpl devicedao) {</p><p>  this.devicedao = devicedao;</p><p><b>  }</b></p><p>  //返回所有查詢(xún)的結(jié)果</p><p><b>  @Override&

95、lt;/b></p><p>  public List<Device> findDeviceAll(){</p><p>  return devicedao.findDeviceAll();</p><p><b>  }</b></p><p><b>  }</b><

96、/p><p><b> ?。?)具體的方法</b></p><p>  //這是查詢(xún)所有設(shè)備信息的方法</p><p><b>  @Override</b></p><p>  public List<Device> findDeviceAll() {</p><p&g

97、t;  List<Device> list = new ArrayList<Device>();</p><p>  Connection conn = JDBCConnectionFactory.getConnection();</p><p><b>  try {</b></p><p>  Statement s

98、tmt = conn.createStatement();</p><p>  String sql = "select id,D_no,D_name,D_producer,D_price,D_count,D_sum from euipinfo order by id asc";</p><p>  ResultSet rs = stmt.executeQuery(s

99、ql);</p><p>  while(rs.next()){</p><p>  list.add(new Device(rs.getInt(1),</p><p>  rs.getString(2), </p><p>  rs.getString(3), </p><p>  rs.getString(4),&

100、lt;/p><p>  rs.getString(5), </p><p>  rs.getString(6), </p><p>  rs.getString(7)</p><p><b>  ));</b></p><p><b>  }</b></p><

101、;p>  } catch (SQLException e) {</p><p>  // TODO Auto-generated catch block</p><p>  e.printStackTrace();</p><p><b>  }finally{</b></p><p>  if(conn != n

102、ull){</p><p><b>  try {</b></p><p>  conn.close();</p><p>  } catch (SQLException e) {</p><p>  // TODO Auto-generated catch block</p><p>  e.p

103、rintStackTrace();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  return list;</p><p><b>  }</b

104、></p><p><b>  (4)界面UI</b></p><p>  package SourceCode;</p><p>  //import java.awt.event.*;</p><p>  import javax.swing.*;</p><p>  import ja

105、vax.swing.table.DefaultTableModel;</p><p>  import java.awt.*;</p><p>  import java.awt.event.ActionEvent;</p><p>  import java.awt.event.ActionListener;</p><p>  impor

106、t java.io.File;</p><p>  import java.io.IOException;</p><p>  import java.util.*;</p><p>  import java.sql.*;</p><p>  class BrowerDeviceFrame implements ActionListener

107、 {</p><p><b>  JFrame f;</b></p><p>  Container cp;</p><p>  JPanel jpS, jpanelWest;</p><p>  JButton jbt1, jbt2, input;</p><p>  static JButto

108、n output;</p><p>  JLabel label, L;</p><p>  static JTable table;</p><p>  Object columnName[] = { "設(shè)備名稱(chēng)", "型號(hào)", "生產(chǎn)廠家", "單價(jià)", "數(shù)量"

109、, "金額" };</p><p>  Object ar[][] = new Object[1000][6];</p><p>  String sno;</p><p>  String count = "1000";</p><p>  BrowerDeviceFrame() {</p>

110、;<p>  f = new JFrame("預(yù)覽儀器設(shè)備");</p><p>  cp = f.getContentPane();</p><p>  jpS = new JPanel();</p><p>  jpanelWest = new JPanel();</p><p>  jbt1 = new

111、 JButton("確定");</p><p>  input = new JButton("導(dǎo)入");</p><p>  output = new JButton("導(dǎo)出");</p><p>  jbt1.setBackground(Color.lightGray);</p><p

112、>  jbt2 = new JButton("返回");</p><p>  jbt2.setBackground(Color.lightGray);</p><p>  label = new JLabel(</p><p>  "<html><font size='5'>&nbs

113、p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"</p><p>  + "預(yù)覽設(shè)備<br><hr>以下是設(shè)備的所

114、有信息</font>",</p><p>  SwingConstants.CENTER);</p><p>  label.setForeground(Color.black);</p><p>  L = new JLabel("實(shí)驗(yàn)室現(xiàn)在共有設(shè)備" + count + "臺(tái)");</p>

115、<p>  table = new JTable(ar, columnName);</p><p>  JScrollPane scrollpane = new JScrollPane(table);</p><p>  jpS.add(jbt1);</p><p>  jpS.add(jbt2);</p><p>  //

116、jpS.add(input);</p><p>  //jpS.add(output);</p><p>  JPanel jpanel = new JPanel();</p><p>  jpanel.add(label);</p><p>  JPanel pp4 = new JPanel();</p><p>

117、;  JPanel jpE = new JPanel();</p><p>  cp.add(jpanel, "North");</p><p>  JPanel jp = new JPanel();</p><p>  JPanel p = new JPanel();// 用來(lái)放兩個(gè)表</p><p>  p.setLa

118、yout(new BorderLayout());</p><p>  p.add(L, "North");</p><p>  p.add(scrollpane);</p><p>  cp.add(pp4, "West");</p><p>  cp.add(p, "Center"

119、;);</p><p>  cp.add(jpS, "South");</p><p>  cp.add(jpE, "East");</p><p>  jpanel.setBackground(Color.lightGray);</p><p>  jpS.setBackground(Color.li

120、ghtGray);</p><p>  jpanelWest.setBackground(Color.lightGray);</p><p>  f.setSize(1000, 600);</p><p>  f.setVisible(true);</p><p>  jbt1.addActionListener(this);// 注冊(cè)監(jiān)聽(tīng)器

121、</p><p>  jbt2.addActionListener(this);</p><p>  input.addActionListener(this);</p><p><b>  }</b></p><p>  int i = 0;</p><p>  public void show

122、Record() {</p><p>  while (i >= 0) {</p><p>  ar[i][0] = "";</p><p>  ar[i][1] = "";</p><p>  ar[i][2] = "";</p><p>  ar[i

123、][3] = "";</p><p>  ar[i][4] = "";</p><p>  ar[i][5] = "";</p><p><b>  i--;</b></p><p><b>  }</b></p><p

124、><b>  i = 0;</b></p><p><b>  try {</b></p><p>  Class.forName("com.mysql.jdbc.Driver").newInstance();</p><p>  } catch (Exception e) {</p>

125、<p>  e.printStackTrace();</p><p><b>  }</b></p><p><b>  try {</b></p><p>  Connection con = DriverManager</p><p>  .getConnection("

126、jdbc:mysql://localhost:3306/Device?user=root&password=");</p><p>  String s = "select * from device ";</p><p>  Statement sql = con.createStatement();</p><p>  Re

127、sultSet rs = sql.executeQuery(s);</p><p>  while (rs.next()) {</p><p>  String dname=rs.getString(1);</p><p>  String dno=rs.getString(2);</p><p>  String dproducer=rs.

128、getString(3);</p><p>  String dprice=rs.getString(4);</p><p>  String dcount=rs.getString(5);</p><p>  String dsum=rs.getString(6);</p><p>  ar[i][0]=dname;</p>

129、<p>  ar[i][1]=dno;</p><p>  ar[i][2]=dproducer;</p><p>  ar[i][3]=dprice;</p><p>  ar[i][4]=dcount;</p><p>  ar[i][5]=dsum;</p><p><b>  i++;<

130、;/b></p><p><b>  }</b></p><p>  count = "" + i + "";</p><p>  L.setText("實(shí)驗(yàn)室現(xiàn)在共有設(shè)備" + count + "臺(tái)");</p><p>  f.re

131、paint();</p><p>  con.close();</p><p>  } catch (SQLException g) {</p><p>  System.out.println(g.getErrorCode());</p><p>  System.out.println(g.getMessage());</p>

132、<p><b>  }</b></p><p><b>  }</b></p><p>  public void actionPerformed(ActionEvent e) {</p><p>  String cmd = e.getActionCommand();</p><p>

133、;  if (cmd.equals("確定")) {</p><p><b>  f.hide();</b></p><p><b>  }</b></p><p>  if (cmd.equals("返回")) {</p><p><b>  f.

134、hide();</b></p><p><b>  }</b></p><p>  if (cmd.equals("導(dǎo)出")) {</p><p><b>  }</b></p><p><b>  }</b></p><p&

135、gt;  public static void main(String[] arg) {</p><p>  BrowerDeviceFrame a = new BrowerDeviceFrame();</p><p>  a.showRecord();</p><p><b>  }</b></p><p><b

136、>  }</b></p><p>  4.3添加設(shè)備信息模塊</p><p>  用戶(hù)可以添加設(shè)備信息,實(shí)現(xiàn)設(shè)備資源的管理</p><p><b>  主要詳細(xì)代碼:</b></p><p> ?。?)IDeviceService接口</p><p>  public inter

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論