成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一個通過Java連接MySQL數據庫的代碼

開發 后端
Java連接MySQL終于做好了,雖然功能是簡單了點,不過我會推出復雜一點的程序,可能以后推出的只用鼠標就可以完成絕大部分的數據庫操作。

這次的Java連接MySQL數據庫操作,還是用的和那個非常小的數據庫管理系統(JSP)一樣的MySQL web_data 的數據庫。

圖示如下:

連接圖示 


代碼如下:

  1. ------------------------------------------------------------  
  2.  
  3. import java.sql.*;   
  4. import javax.swing.*;   
  5. import java.awt.*;   
  6. import java.awt.event.*;   
  7. import java.util.*;   
  8.  
  9. public class inensshow extends JFrame {   
  10.  
  11.  
  12. private Connection connection;   
  13. private Statement statement;   
  14. private ResultSet resultSet;   
  15. private ResultSetMetaData rsMetaData;   
  16.  
  17. //GUI變量定義  
  18. private JTable table;   
  19. private JTextArea inputQuery;   
  20. private JButton submitQuery;   
  21.  
  22. public inensshow()   
  23. {   
  24. //Form的標題   
  25. super( "輸入SQL語句,按查詢按鈕查看結果。" );   
  26.  
  27. String url = "jdbc:mysql://localhost:3306/web";   
  28. String username = "inens";   
  29. String password = "inens";   
  30. //加載驅動程序以連接數據庫  
  31. try {   
  32. Class.forName( "org.gjt.mm.mysql.Driver" );   
  33. connection = DriverManager.getConnection(   
  34. url, username, password );   
  35. }   
  36. //捕獲加載驅動程序異常  
  37. catch ( ClassNotFoundException cnfex ) {   
  38. System.err.println(   
  39. "裝載 JDBC/ODBC 驅動程序失敗。" );   
  40. cnfex.printStackTrace();   
  41. System.exit( 1 ); // terminate program   
  42. }   
  43. //捕獲連接數據庫異常  
  44. catch ( SQLException sqlex ) {   
  45. System.err.println( "無法連接數據庫" );   
  46. sqlex.printStackTrace();   
  47. System.exit( 1 ); // terminate program   
  48. }   
  49. //如果數據庫連接成功,則建立GUI  
  50. //SQL語句  
  51. String test="SELECT * FROM data";   
  52. inputQuery = new JTextArea( test, 4, 30 );   
  53. submitQuery = new JButton( "查詢" );   
  54. //Button事件  
  55. submitQuery.addActionListener(   
  56. new ActionListener() {   
  57. public void actionPerformed( ActionEvent e )   
  58. {   
  59. getTable();   
  60. }   
  61. }   
  62. );   
  63.  
  64. JPanel topPanel = new JPanel();   
  65. topPanel.setLayout( new BorderLayout() );   
  66. //將"輸入查詢"編輯框布置到 "CENTER"  
  67. topPanel.add( new JScrollPane( inputQuery), BorderLayout.CENTER );   
  68. //將"提交查詢"按鈕布置到 "SOUTH"  
  69. topPanel.add( submitQuery, BorderLayout.SOUTH );   
  70. table = new JTable();   
  71. Container c = getContentPane();   
  72. c.setLayout( new BorderLayout() );   
  73. //將"topPanel"編輯框布置到 "NORTH"  
  74. c.add( topPanel, BorderLayout.NORTH );   
  75. //將"table"編輯框布置到 "CENTER"  
  76. c.add( table, BorderLayout.CENTER );   
  77. getTable();   
  78. setSize( 500, 300 );   
  79. //顯示Form  
  80. show();   
  81. }   
  82.  
  83. private void getTable()   
  84. {   
  85. try {   
  86. //執行SQL語句  
  87. String query = inputQuery.getText();   
  88. statement = connection.createStatement();   
  89. resultSet = statement.executeQuery( query );   
  90. //在表格中顯示查詢結果  
  91. displayResultSet( resultSet );   
  92. }   
  93. catch ( SQLException sqlex ) {   
  94. sqlex.printStackTrace();   
  95. }   
  96. }   
  97.  
  98. private void displayResultSet( ResultSet rs )   
  99. throws SQLException   
  100. {   
  101. //定位到達第一條記錄  
  102. boolean moreRecords = rs.next();   
  103. //如果沒有記錄,則提示一條消息  
  104. if ( ! moreRecords ) {   
  105. JOptionPane.showMessageDialog( this,   
  106. "結果集中無記錄" );   
  107. setTitle( "無記錄顯示" );   
  108. return;   
  109. }   
  110. Vector columnHeads = new Vector();   
  111. Vector rows = new Vector();   
  112. try {   
  113. //獲取字段的名稱  
  114. ResultSetMetaData rsrsmd = rs.getMetaData();   
  115. for ( int i = 1; i <= rsmd.getColumnCount(); ++i )   
  116. columnHeads.addElement( rsmd.getColumnName( i ) );   
  117. //獲取記錄集  
  118. do {   
  119. rows.addElement( getNextRow( rs, rsmd ) );   
  120. } while ( rs.next() );   
  121. //在表格中顯示查詢結果  
  122. table = new JTable( rows, columnHeads );   
  123. JScrollPane scroller = new JScrollPane( table );   
  124. Container c = getContentPane();   
  125. c.remove(1);   
  126. c.add( scroller, BorderLayout.CENTER );   
  127. //刷新Table  
  128. c.validate();   
  129. }   
  130. catch ( SQLException sqlex ) {   
  131. sqlex.printStackTrace();   
  132. }   
  133. }   
  134.  
  135.  
  136. private Vector getNextRow( ResultSet rs,   
  137. ResultSetMetaData rsmd )   
  138. throws SQLException   
  139. {   
  140. Vector currentRow = new Vector();   
  141. for ( int i = 1; i <= rsmd.getColumnCount(); ++i )   
  142. currentRow.addElement( rs.getString( i ) );   
  143. //返回一條記錄   
  144. return currentRow;   
  145. }   
  146.  
  147. public void shutDown()   
  148. {   
  149. try {   
  150. //斷開數據庫連接  
  151. connection.close();   
  152. }   
  153. catch ( SQLException sqlex ) {   
  154. System.err.println( "Unable to disconnect" );   
  155. sqlex.printStackTrace();   
  156. }   
  157. }   
  158.  
  159. public static void main( String args[] )   
  160. {   
  161. final inensshow app =   
  162. new inensshow();   
  163. app.addWindowListener(   
  164. new WindowAdapter() {   
  165. public void windowClosing( WindowEvent e )   
  166. {   
  167. app.shutDown();   
  168. System.exit( 0 );   
  169. }   
  170. }   
  171. );   
  172. }   
  173. }   
  174.  


------------------------------------------------------------

這次在WIN98中就不好使了。因為MySQL的驅動程序沒有也沒能加入到CLASSPATH 當中,但是JSP卻可以使用(JSP的98驅動加載詳見Jsp與Mysql連接查錯文章),所以這次我是在XPServer中測試的。Java連接MySQL成功。

【編輯推薦】

  1. Java連接MySQL中文亂碼處理
  2. 如何用Java通過ODBC鏈接MySQL
  3. Java虛擬機內部構成淺析
  4. 淺談Java線程的生命周期
  5. 關于Java繼承的一些復習
責任編輯:張燕妮 來源: jspcn
相關推薦

2011-07-20 13:40:00

SQLite數據庫查詢數據

2010-05-27 10:10:00

連接MySQL數據庫

2012-02-03 10:32:46

Java

2011-08-18 18:18:05

MySQL數據庫優化

2010-06-07 15:24:34

Java連接MYSQL

2011-07-20 12:55:17

SQLite數據庫插入數據

2020-09-22 15:56:31

Java

2010-05-25 18:21:28

MySQL連接數據庫

2011-07-21 16:28:20

MySQL數據庫帶游標的存儲過程

2011-07-20 14:57:47

SQLite數據庫ORDER BYGROUP BY

2010-05-26 15:43:37

連接MySQL數據庫

2010-06-01 10:47:21

連接MySQL數據庫

2011-07-20 13:18:01

SQLite數據庫修改和刪除數據

2021-06-10 13:50:55

代碼開發數據庫

2011-08-02 13:26:38

JavaBeanSQL Server

2010-05-17 17:54:39

MySQL 數據庫

2010-02-02 17:27:16

C++連接MySqL數

2011-05-26 13:42:50

MFC連接MySql數據庫

2011-07-06 17:50:59

NaviCat

2023-09-21 23:08:36

MySQL數據庫死鎖
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品免费视频一区 | 亚洲天堂久久新 | 黄色片在线免费看 | 欧美日韩成人在线 | 亚洲国产精品一区 | 日本国产精品视频 | 亚洲a视频 | 爱爱无遮挡 | 久久久无码精品亚洲日韩按摩 | 九色国产 | 丁香五月网久久综合 | 天天操夜夜看 | 精品一区二区电影 | 都市激情亚洲 | 国产欧美在线 | 天天干天天玩天天操 | 91精品国产色综合久久不卡98口 | 久久久久亚洲 | 欧美国产精品一区二区三区 | 国产日韩欧美一区 | 欧美亚洲视频在线观看 | 久久精品一区二区三区四区 | 国产高清在线精品 | 美女一级黄 | 黄色一级免费 | 久久久久久久亚洲精品 | 香蕉视频久久久 | 亚洲成av片人久久久 | 91精品国产乱码久久久久久久久 | 青青草网站在线观看 | 国产伦精品一区二区三区高清 | 午夜在线免费观看 | 日韩在线资源 | 九九热国产精品视频 | 一区视频在线 | 久久久久久国模大尺度人体 | 日韩精品一区二区三区高清免费 | 成人免费精品视频 | 成人免费观看男女羞羞视频 | av中文网 | 国产高潮好爽受不了了夜色 |