java学习:jdbc连接示例

java中最常用的数据库连接技术就是JDBC

目前几乎所有的主流数据库都提供了相应的jdbc驱动,可以简单理解为.net中的数据库客户端dll,.net中如果对于netframework默认不支持的数据库(比如sqllite,mysql之类),就必须要下载专门的数据库客户端dll文件,在vs.net中添加该dll的引用,然后就可以用它来连接数据库。

jdbc也是同样的道理,jdk默认安装后,几乎没带什么jdbc驱动,需要到各数据库提供商网站下载对应的jdbc驱动,以mysql为例,下载mysql jdbc驱动后(百度搜索 “mysql jdbc”就行),会得到一个mysql-connector-java-5.1.22-bin.jar的文件,把它复制到 \jdk\jre\lib\ext 目录下(这样程序运行时,通过ClassPath就能找到该文件)

然后就可以写代码连接了,示例代码 :

package jmyang.jdbctest;

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

public class MySqlTest {
    public static void main(String[] args) {
        Connection conn = null;
        try {

            // 加载mysql驱动程序
            Class.forName("com.mysql.jdbc.Driver");
            // 连接localhost上的mysql,并指定使用test数据库,用户名为root,密码为***
            conn = DriverManager.getConnection("jdbc:mysql://localhost/test",
                                               "root", "***");
            if (!conn.isClosed()) {
                System.out.println("数据库连接成功!"); //验证是否连接成功
            }

            Statement statement = conn.createStatement();
            //查询数据
            ResultSet rs = statement.executeQuery("select * from person");

            //输出结果集(类似.net中的DataSet/DataTable)
            while (rs.next()) {
                System.out.println("id=" + rs.getInt("Id") + ",name=" +
                                   rs.getString("Name"));
            }
            rs.close();

        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (conn != null) {
                try {
                    conn.close();
                    conn = null;
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }

    }
}

下面是oracle 11g Express版连接的示例:

oracle 11g安装后,在jdbc目录下,会有 ojdbc5.jar,ojdbc6.jar,ojdbc6_g.jar 三个包,其中ojdbc5适用于jdk1.5及以上版本,另外二个适用于jdk1.6及以上版本。

注:经我实际测试,如果搞不清自己的jdk版本号,直接把ojdbc5.jar,ojdbc6.jar二个文件都复制到 \jdk\jre\lib\ext下 也可以。

            Class.forName("oracle.jdbc.driver.OracleDriver");
            // 连接localhost上的oracle,用户名为yangjm,密码为***,SID为XE,端口号1521,oracle服务器IP:localhost
            conn = DriverManager.getConnection("jdbc:oracle:thin:@//localhost:1521/XE",
                                               "yangjm", "***");

 与mysql示例代码的区别仅在于:加载的驱动不同  以及 getConnection时指定的url不同

 

posted @ 2012-11-03 18:54  菩提树下的杨过  阅读(6571)  评论(0编辑  收藏  举报