java連接數據庫

雖然N年前就會連接數據庫,不管vb、delphi,還是java。
但爲了N年後改行了,又想拿回這些技術,所以還是有必要做個簡單的例子的。
所有的JDBC應用程序都具有下面的基本流程:
(1)加載驅動類
(2)建立到數據庫的連接
(3)創建語句對象(Statement或PreparedStatment)
(4)利用語句對象執行SQL語句得到結果
(5)處理結果
(6)關閉結果集、從數據庫斷開連接

例子一:

package ccp330.jdbc.test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class TestOne {


    public static void main(String[] args) {
        // 在此之前應該加入驅動包到項目裏
        // 定義數據庫驅動程序串
        String DBdriver = "com.mysql.jdbc.Driver";
        // 定義數據庫的連接IP地址、端口以及數據庫名
        String DBip = "127.0.0.1";
        String DBport = "3300";
        String DBname = "mysql";
        // 定義數據庫連接地址
        String DBurl = "jdbc:mysql://" + DBip + ":" + DBport + "/" + DBname;
        // 數據庫用戶名和密碼
        String user = "root";
        String password = "";
        // 定義數據庫連接對象
        Connection conn = null;
        // 定義語句對象,用於操作數據庫
        Statement stmt = null;
        // 定義接收的結果集
        ResultSet rs = null;
        // 定義要執行的SQL語句
        String sql_createTable = null;
        String sql_insert1 = null;
        String sql_insert2 = null;
        String sql_insert3 = null;
        String sql_select = null;
        String sql_drop = null;

        try {
            // 加載驅動程序
            Class.forName(DBdriver);
            // 連接數據庫
            conn = DriverManager.getConnection(DBurl, user, password);
            // 通過Connection對象實例化Statement對象
            stmt = conn.createStatement();
            // 給SQL語句賦值
            sql_createTable = "create table admin(name varchar(25), password varchar(25))";
            sql_insert1 = "insert into admin(name, password) values('ccp330','ccp330')";
            sql_insert2 = "insert into admin(name, password) values('古城','古城')";
            sql_insert3 = "insert into admin(name, password) values('123','123')";
            sql_select = "select * from admin";
            sql_drop = "drop table admin";
            // 進行SQL語句中的建表和插入語句
            stmt.execute("drop table if exists admin");
            stmt.execute(sql_createTable);
            stmt.executeUpdate(sql_insert1);
            stmt.executeUpdate(sql_insert2);
            stmt.executeUpdate(sql_insert3);
            // 用ResultSet來接收查詢到的結果集
            rs = stmt.executeQuery(sql_select);
            while (rs.next()) {
                System.out.println("name : " + rs.getString(1)
                        + "  password : " + rs.getString(2));
            }
            stmt.execute(sql_drop);

        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {

            try {
                if (rs != null) {
                    rs.close();
                }
                if( stmt != null) {
                    stmt.close();
                }
                if( conn != null) {
                    conn.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }

        }

    }

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章