JDBC 连接数据库范例

jdbc 连接数据库范例

本教程提供了如何创建jdbc应用程序的范例,包括:如何打开一个数据库连接,执行 sql 查询,并显示执行结果。

 

1. jdbc 连接数据库步骤

构建一个 jdbc 连接数据库应用程序的六个步骤:

1)导入数据包

需要包括含有需要进行数据库编程的jdbc类的包。大多数情况下,使用 import java.sql.* 就可以了。

2)注册jdbc驱动程序

可以与数据库打开一个通信通道。

3)打开连接

需要使用 drivermanager.getconnection() 方法创建一个 connection 对象,它代表与数据库的物理连接。

4)执行查询

需要使用类型声明的对象建立并提交一个sql语句到数据库。

5)从结果集中提取数据

要求使用适当的关于 resultset.getxxx() 方法来检索结果集的数据。

6)清理环境

需要明确地关闭所有的数据库资源相对依靠jvm的垃圾收集。

 

2. jdbc 连接数据库实例

这个范例可以作为一个模板,在需要建立jdbc应用程序。

//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
}

现在来编译上面的例子如下:

c:>javac firstexample.java
c:>

当运行firstexample,它会产生以下结果:

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:>
相关文章