JDBC的使用(2)

完成与数据库相关的操作,需要执行以下几步:

第1步:导入于SQL相关的包
导入java.sql.*或者javax.sql.*.
例如:import java.sql.Connection;
         import java.sql.Statement;

第2步:加载JDBC驱动程序
根据不同的数据库加载对应的驱动程序。加载完数据库驱动程序类后,驱动程序会自动通过DriverManager.registerDriver()方法注册。
常见驱动类名:
MySQL—com.mysql.jdbc.Driver
SQL Server—com.microsoft.sqlserver.jdbc.SQLServerDriver
Oracle—oracle.jdbc.driver.OracleDriver

第3部:提供连接URL
连接URL定义了连接数据库时的协议、子协议、数据源识别,形式为:“协议:子协议:数据源识别”;“协议”在JDBC中总是以“jdbc”开始;“子协议”是桥接的驱动程序或者数据库管理系统名称,如果使用MySQL的话是“mysql”;“数据源识别”标出找出数据库来源的地址与连接接口。
MySQL的连接URL编写格式为:jdbc:mysql://主机名称:连接端口/数据库名称? 参数=值&参数=值
例如:jdbc:mysql://localhost:3306/test?user=root&password=123&useUnicode=true&characterEncoding=UTF-8
Oracle的连接URL编写格式:
jdbc:oracle:thin:@localhost:1521:sid
SQL Server的连接URL编写格式为:
jdbc:sqlserver://localhost:1433:Databasename=BOOK

第4步:建立一个数据库连接
要连接数据库,可以向java.sql.DriverManager要求并获得一个java.sql.Connection对象。Connection是数据库连接的具体代表对象,一个Connection对象就代表一个数据库连接,可以使用DriverManager的getConnection()方法传入指定的连接URL、用户名和密码来获得;java.sql.SQLException是处理JDBC时经常遇到的一个受检查异常对象。

第5步:创建一个Statemen对象
要执行SQL语句,必须获得java.sql.Statementduixiang,它是java中一个SQL叙述的具体代表对象。
如:
Statement state = conn.createStatement();

第6步:执行SQL语句
获得Statement对象之后,可以使用Statement对象的一下方法来执行SQL。
(1)int executeUpdate(String sql):执行改变数据库内容的SQL,例如insert、delete、update、create table、drop table等语句,返回该操作影响到的记录数。
(2)java.sql.ResultSet executeQuery(String sql):执行查询数据库的SQL,如select语句,返货查询到的结果集ResultSet对象。
例如:
int rows = stmt.executeUpdate(“insert into…”);
ResultSet set = stmt.executeQuery(“select * from table_name”);

第7步:处理结果
执行更新返回的结果是本次操作影响到的记录数。执行查询返回的结果是一个ResultSet对象。ResultSet是数据库结果集的数据表。ResultSet对象具有指向当前数据行的光标。最初,光标被置于第一行之前。可以使用ResultSet的next()方法移动光标到下一行,它会返回true或者false表示是否有下一行记录。ResultSet对象有两种方式可以从当前行获取指定的列的值。
getXXX(int columnIndex):使用列索引获取值。列从1开始编号
getXXX(String columnLabel):使用列的名称获取值。

第8步:关闭JDBC对象
操作完成后需要把所使用的JDBC对象全部显示关闭,以释放JDBC资源。
调用ResultSet的close()方法
调用Statement的close()方法
调用Connection的close()方法

import java.sql.*;

/**
*
* @author Administrator
*/
public class TestJDBC {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO coe application logic here
        String url = "jdbc:mysql://localhost:3306/factory";
        String user = "root";
        String password = "***"; 

        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (Exception e) {
            System.out.println(e.toString());
        } 

        try{
            Connection con = java.sql.DriverManager.getConnection(url, user, password);
            Statement myOperator = con.createStatement();
            ResultSet result =myOperator.executeQuery("select * from employee"); 
            while(result.next()){
                System.out.println(result.getString(1)+"/t"+result.getString(2)+"/t"+result.getString(3)+"/t"+result.getString(4));
            }
        }catch(java.sql.SQLException esql){
            System.out.println(esql.toString());
        } 
  }
}

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