黄色电影一区二区,韩国少妇自慰A片免费看,精品人妻少妇一级毛片免费蜜桃AV按摩师 ,超碰 香蕉

JDBC 連接數(shù)據(jù)庫范例

jdbc 連接數(shù)據(jù)庫范例

本教程提供了如何創(chuàng)建jdbc應(yīng)用程序的范例,包括:如何打開一個(gè)數(shù)據(jù)庫連接,執(zhí)行 sql 查詢,并顯示執(zhí)行結(jié)果。

 

1. jdbc 連接數(shù)據(jù)庫步驟

構(gòu)建一個(gè) jdbc 連接數(shù)據(jù)庫應(yīng)用程序的六個(gè)步驟:

1)導(dǎo)入數(shù)據(jù)包

需要包括含有需要進(jìn)行數(shù)據(jù)庫編程的jdbc類的包。大多數(shù)情況下,使用 import java.sql.* 就可以了。

2)注冊(cè)jdbc驅(qū)動(dòng)程序

可以與數(shù)據(jù)庫打開一個(gè)通信通道。

3)打開連接

需要使用 drivermanager.getconnection() 方法創(chuàng)建一個(gè) connection 對(duì)象,它代表與數(shù)據(jù)庫的物理連接。

4)執(zhí)行查詢

需要使用類型聲明的對(duì)象建立并提交一個(gè)sql語句到數(shù)據(jù)庫。

5)從結(jié)果集中提取數(shù)據(jù)

要求使用適當(dāng)?shù)年P(guān)于 resultset.getxxx() 方法來檢索結(jié)果集的數(shù)據(jù)。

6)清理環(huán)境

需要明確地關(guān)閉所有的數(shù)據(jù)庫資源相對(duì)依靠jvm的垃圾收集。

 

2. jdbc 連接數(shù)據(jù)庫實(shí)例

這個(gè)范例可以作為一個(gè)模板,在需要建立jdbc應(yīng)用程序。

//step 1. import required packages
import java.sql.*;

public class firstexample {
    // jdbc driver name and database url
    static final string jdbc_driver = "com.mysql.jdbc.driver";  
    static final string db_url = "jdbc:mysql://localhost/emp";

    //  database credentials
    static final string user = "username";
    static final string pass = "password";

    public static void main(string[] args) {
        connection conn = null;
        statement stmt = null;
        try{
            //step 2: register jdbc driver
            class.forname("com.mysql.jdbc.driver");

            //step 3: open a connection
            system.out.println("connecting to database...");
            conn = drivermanager.getconnection(db_url,user,pass);

            //step 4: execute a query
            system.out.println("creating statement...");
            stmt = conn.createstatement();
            string sql;
            sql = "select id, first, last, age from employees";
            resultset rs = stmt.executequery(sql);

            //step 5: extract data from result set
            while(rs.next()){
                //retrieve by column name
                int id  = rs.getint("id");
                int age = rs.getint("age");
                string first = rs.getstring("first");
                string last = rs.getstring("last");

                //display values
                system.out.print("id: " + id);
                system.out.print(", age: " + age);
                system.out.print(", first: " + first);
                system.out.println(", last: " + last);
            }
            //step 6: clean-up environment
            rs.close();
            stmt.close();
            conn.close();
        }catch(sqlexception se){
            //handle errors for jdbc
            se.printstacktrace();
        }catch(exception e){
            //handle errors for class.forname
            e.printstacktrace();
        }finally{
            //finally block used to close resources
            try{
                if(stmt!=null)
                    stmt.close();
            }catch(sqlexception se2){
            }// nothing we can do
            try{
                if(conn!=null)
                    conn.close();
            }catch(sqlexception se){
                se.printstacktrace();
            }//end finally try
        }//end try
        system.out.println("goodbye!");
    }//end main
}

現(xiàn)在來編譯上面的例子如下:

c:>javac firstexample.java
c:>

當(dāng)運(yùn)行firstexample,它會(huì)產(chǎn)生以下結(jié)果:

c:>java firstexample
connecting to database...
creating statement...
id: 100, age: 18, first: zara, last: ali
id: 101, age: 25, first: mahnaz, last: fatma
id: 102, age: 30, first: zaid, last: khan
id: 103, age: 28, first: sumit, last: mittal
c:>
相關(guān)文章