新聞中心
這次的Java連接MySQL數(shù)據(jù)庫操作,還是用的和那個非常小的數(shù)據(jù)庫管理系統(tǒng)(JSP)一樣的MySQL web_data 的數(shù)據(jù)庫。

創(chuàng)新互聯(lián)致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營銷,包括成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、SEO優(yōu)化、網(wǎng)絡(luò)推廣、整站優(yōu)化營銷策劃推廣、電子商務(wù)、移動互聯(lián)網(wǎng)營銷等。創(chuàng)新互聯(lián)為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制及解決方案,創(chuàng)新互聯(lián)核心團隊十年專注互聯(lián)網(wǎng)開發(fā),積累了豐富的網(wǎng)站經(jīng)驗,為廣大企業(yè)客戶提供一站式企業(yè)網(wǎng)站建設(shè)服務(wù),在網(wǎng)站建設(shè)行業(yè)內(nèi)樹立了良好口碑。
圖示如下:
代碼如下:
- ------------------------------------------------------------
- import java.sql.*;
- import javax.swing.*;
- import java.awt.*;
- import java.awt.event.*;
- import java.util.*;
- public class inensshow extends JFrame {
- private Connection connection;
- private Statement statement;
- private ResultSet resultSet;
- private ResultSetMetaData rsMetaData;
- //GUI變量定義
- private JTable table;
- private JTextArea inputQuery;
- private JButton submitQuery;
- public inensshow()
- {
- //Form的標題
- super( "輸入SQL語句,按查詢按鈕查看結(jié)果。" );
- String url = "jdbc:mysql://localhost:3306/web";
- String username = "inens";
- String password = "inens";
- //加載驅(qū)動程序以連接數(shù)據(jù)庫
- try {
- Class.forName( "org.gjt.mm.mysql.Driver" );
- connection = DriverManager.getConnection(
- url, username, password );
- }
- //捕獲加載驅(qū)動程序異常
- catch ( ClassNotFoundException cnfex ) {
- System.err.println(
- "裝載 JDBC/ODBC 驅(qū)動程序失敗。" );
- cnfex.printStackTrace();
- System.exit( 1 ); // terminate program
- }
- //捕獲連接數(shù)據(jù)庫異常
- catch ( SQLException sqlex ) {
- System.err.println( "無法連接數(shù)據(jù)庫" );
- sqlex.printStackTrace();
- System.exit( 1 ); // terminate program
- }
- //如果數(shù)據(jù)庫連接成功,則建立GUI
- //SQL語句
- String test="SELECT * FROM data";
- inputQuery = new JTextArea( test, 4, 30 );
- submitQuery = new JButton( "查詢" );
- //Button事件
- submitQuery.addActionListener(
- new ActionListener() {
- public void actionPerformed( ActionEvent e )
- {
- getTable();
- }
- }
- );
- JPanel topPanel = new JPanel();
- topPanel.setLayout( new BorderLayout() );
- //將"輸入查詢"編輯框布置到 "CENTER"
- topPanel.add( new JScrollPane( inputQuery), BorderLayout.CENTER );
- //將"提交查詢"按鈕布置到 "SOUTH"
- topPanel.add( submitQuery, BorderLayout.SOUTH );
- table = new JTable();
- Container c = getContentPane();
- c.setLayout( new BorderLayout() );
- //將"topPanel"編輯框布置到 "NORTH"
- c.add( topPanel, BorderLayout.NORTH );
- //將"table"編輯框布置到 "CENTER"
- c.add( table, BorderLayout.CENTER );
- getTable();
- setSize( 500, 300 );
- //顯示Form
- show();
- }
- private void getTable()
- {
- try {
- //執(zhí)行SQL語句
- String query = inputQuery.getText();
- statement = connection.createStatement();
- resultSet = statement.executeQuery( query );
- //在表格中顯示查詢結(jié)果
- displayResultSet( resultSet );
- }
- catch ( SQLException sqlex ) {
- sqlex.printStackTrace();
- }
- }
- private void displayResultSet( ResultSet rs )
- throws SQLException
- {
- //定位到達第一條記錄
- boolean moreRecords = rs.next();
- //如果沒有記錄,則提示一條消息
- if ( ! moreRecords ) {
- JOptionPane.showMessageDialog( this,
- "結(jié)果集中無記錄" );
- setTitle( "無記錄顯示" );
- return;
- }
- Vector columnHeads = new Vector();
- Vector rows = new Vector();
- try {
- //獲取字段的名稱
- ResultSetMetaData rsrsmd = rs.getMetaData();
- for ( int i = 1; i <= rsmd.getColumnCount(); ++i )
- columnHeads.addElement( rsmd.getColumnName( i ) );
- //獲取記錄集
- do {
- rows.addElement( getNextRow( rs, rsmd ) );
- } while ( rs.next() );
- //在表格中顯示查詢結(jié)果
- table = new JTable( rows, columnHeads );
- JScrollPane scroller = new JScrollPane( table );
- Container c = getContentPane();
- c.remove(1);
- c.add( scroller, BorderLayout.CENTER );
- //刷新Table
- c.validate();
- }
- catch ( SQLException sqlex ) {
- sqlex.printStackTrace();
- }
- }
- private Vector getNextRow( ResultSet rs,
- ResultSetMetaData rsmd )
- throws SQLException
- {
- Vector currentRow = new Vector();
- for ( int i = 1; i <= rsmd.getColumnCount(); ++i )
- currentRow.addElement( rs.getString( i ) );
- //返回一條記錄
- return currentRow;
- }
- public void shutDown()
- {
- try {
- //斷開數(shù)據(jù)庫連接
- connection.close();
- }
- catch ( SQLException sqlex ) {
- System.err.println( "Unable to disconnect" );
- sqlex.printStackTrace();
- }
- }
- public static void main( String args[] )
- {
- final inensshow app =
- new inensshow();
- app.addWindowListener(
- new WindowAdapter() {
- public void windowClosing( WindowEvent e )
- {
- app.shutDown();
- System.exit( 0 );
- }
- }
- );
- }
- }
------------------------------------------------------------
這次在WIN98中就不好使了。因為MySQL的驅(qū)動程序沒有也沒能加入到CLASSPATH 當中,但是JSP卻可以使用(JSP的98驅(qū)動加載詳見Jsp與Mysql連接查錯文章),所以這次我是在XPServer中測試的。Java連接MySQL成功。
當前標題:一個通過Java連接MySQL數(shù)據(jù)庫的代碼
網(wǎng)站網(wǎng)址:http://www.5511xx.com/article/dpihoce.html


咨詢
建站咨詢
