微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JDBCJava Data Base Connectivity——java数据库连接

一、定义 数据库驱动:数据库厂商为了方便开发人员从程序中操作数据库而提供的一套jar包,通过导入这个jar包就可以调用其中的方法操作数据库,这样的jar包就叫做数据库驱动 JDBC:sun定义的一套标准,本质上是一大堆的操作数据库的接口,所有数据库厂商为java设计的数据库驱动都实现过这套接口,这样一来同一了不同数据库驱动的方法,开发人员只需要学习JDBC就会使用任意数据库驱动了。

  二、使用JDBC连接数据库 方法一:
package com.shelly.jdbc;

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

import com.MysqL.jdbc.Driver;

public class Demo1 {

    /**
     * @param args
     * @throws sqlException 
     */
    public static void main(String[] args) throws sqlException {
        // 1.注册数据库驱动
        DriverManager.registerDriver(new Driver());
        // 2.获取数据库连接
        Connection conn = DriverManager.getConnection("jdbc:MysqL://localhost:3306/blog", "root", "root");
        // 3.获取传输器对象
        Statement stat = conn.createStatement();
        // 4.利用传输器传输sql语句到数据库中执行,获取结果集对象
        ResultSet rs = stat.executeQuery("select * from user");
        // 5.遍历结果集获取查询结果
        while(rs.next()){
            String username = rs.getString("username");
            System.out.println(username);
        }
        // 6.关闭资源
        rs.close();
        stat.close();
        conn.close();
    }
}
缺点: DriverManager.registerDriver(new Driver());//缺点一:由于MysqL的Driver源码本身已经注册过一次,导致了数据库驱动被注册了两次。缺点二:整个程序域MysqL数据库驱动绑定增加了耦合性,程序和具体的MysqL驱动绑死在一起,在切换数据库时需要改动java代码,不够灵活。   方法二:
package com.shelly.jdbc;

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

import com.MysqL.jdbc.Driver;

public class Demo1 {

    /**
     * @param args
     * @throws sqlException 
     * @throws ClassNotFoundException 
     */
    public static void main(String[] args) throws sqlException, ClassNotFoundException {
        // 1.注册数据库驱动
        //DriverManager.registerDriver(new Driver());
        Class.forName("com.MysqL.jdbc.Driver");
        // 2.获取数据库连接
        Connection conn = DriverManager.getConnection("jdbc:MysqL://localhost:3306/blog", "root", "root");
        // 3.获取传输器对象
        Statement stat = conn.createStatement();
        // 4.利用传输器传输sql语句到数据库中执行,获取结果集对象
        ResultSet rs = stat.executeQuery("select * from user");
        // 5.遍历结果集获取查询结果
        while(rs.next()){
            String username = rs.getString("username");
            System.out.println(username);
        }
        // 6.关闭资源
        rs.close();
        stat.close();
        conn.close();
    }
}

优点:Class.forName(“com.MysqL.jdbc.Driver”);//代替DriverManager,可以查找是否已有注册数据库驱动,所以只会注册一次。关联字符串,可以将字符串放在配置文件中,在切换数据库时就不需要改动java代码了。

  Tip: 数据库URL:URL用于标识数据库的位置,程序员通过URL地址告诉JDBC程序连接哪个数据库 常用数据库URL地址的写法: Oracle写法:jdbc:oracle:thin:@localhost:1521:sid sqlServer—jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=sid MysqL—jdbc:MysqL://localhost:3306/sid MysqLURL地址的简写形式: jdbc:MysqL:///sid 常用属性:useUnicode=true&characterEncoding=UTF-8

 

   

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐