美文网首页我爱编程
MySQL 基础 8 JDBC入门

MySQL 基础 8 JDBC入门

作者: 小熊先生很不开心 | 来源:发表于2018-03-19 08:21 被阅读19次

1.1JDBC的概述

1.1.1JDBC简介

  Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标[1]。JDBC是面向关系型数据库的。

  • 摘自 WIKI

1.1.2JDBC数据库驱动类型(摘自WIKI)

驱动程序类型
JDBC驱动程序共分四种类型:

  • 类型1:JDBC-ODBC桥
    • 这种类型的驱动把所有JDBC的调用传递给ODBC,再让后者调用数据库本地驱动代码(也就是数据库厂商提供的数据库操作二进制代码库,例如Oracle中的oci.dll)。

    • 优点:
      只要有对应的ODBC驱动(大部分数据库厂商都会提供),几乎可以访问所有的数据库。

    • 缺点:
      执行效率比较低,不适合大数据量访问的应用;
      由于需要客户端预装对应的ODBC驱动,不适合Internet/Intranet应用。

  • 类型2:本地API驱动
    • 这种类型的驱动通过客户端加载数据库厂商提供的本地代码库(C/C++等)来访问数据库,而在驱动程序中则包含了Java代码。

    • 优点:
      速度快于第一类驱动(但仍比不上第3、第4类驱动)。

    • 缺点
      由于需要客户端预装对应的数据库厂商代码库,仍不适合Internet/Intranet应用。

  • 类型3:网络协议驱动
    • 这种类型的驱动给客户端提供了一个网络API,客户端上的JDBC驱动程序使用套接字(Socket)来调用服务器上的中间件程序,后者在将其请求转化为所需的具体API调用。

    • 优点:
      不需要在客户端加载数据库厂商提供的代码库,单个驱动程序可以对多个数据库进行访问,可扩展性较好。

    • 缺点:
      在中间件层仍需对最终数据进行配置;
      由于多出一个中间件层,速度不如第四类驱动程序。

  • 类型4:本地协议驱动
    • 这种类型的驱动使用Socket,直接在客户端和数据库间通信。

    • 优点:
      访问速度最快;
      这是最直接、最纯粹的Java实现。

    • 缺点:
      几乎只有数据库厂商自己才能提供这种类型的JDBC驱动。
      需要针对不同的数据库使用不同的驱动程序。

1.1.3JDBC的作用

  没有JDBC的时候,如果现在要开发一套系统,使用Java连接MySQL数据库,那么这时候Java程序员需要了解MySQL驱动API,如果使用Java连接Oracle数据库,那么这个时候Java程序员需要了解Oracle数据库驱动API。

  SUN公司提供一套统一的规范(接口)。然后各个数据库生产商提供这套接口的实现。这套接口规范就是JDBC的规范。

1.2 JDBC入门案例

1.2.1 创建数据库与表

create database web_test3;
use web_test3;
create table user(
    id int primary key auto_increment,
    username varchar(20),
    password varchar(20),
    nickname varchar(20),
    age int
);
insert into user values (null,'aaa','123','小丽',34);
insert into user values (null,'bbb','123','大王',32);
insert into user values (null,'ccc','123','小明',28);
insert into user values (null,'ddd','123','大黄',21);

1.2.2 导入JDBC的jar包

  • mysql-connector-java-5.0.8-bin.jar
  • Build path 即可

1.2.3 JDBC的开发步骤

  • 第一步:加载驱动
  • 第二步:获得连接
  • 第三步:基本操作
  • 第四步:释放资源

1.2.3 JDBC入门代码案例

import org.junit.Test;

/**
 * JDBC的入门程序
 * @author jt
 *
 */
public class JDBCDemo1 {

    @Test
    /**
     * JDBC的入门
     */
    public void demo1() throws Exception{
        // 1.加载驱动
        Class.forName("com.mysql.jdbc.Driver");
        // 2.获得连接
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/web_test3", "root", "abc");
        // 3.基本操作:执行SQL
        // 3.1获得执行SQL语句的对象
        Statement statement = conn.createStatement();
        // 3.2编写SQL语句:
        String sql = "select * from user";
        // 3.3执行SQL:
        ResultSet rs = statement.executeQuery(sql);
        // 3.4遍历结果集:
        while(rs.next()){
            System.out.print(rs.getInt("id")+" ");
            System.out.print(rs.getString("username")+" ");
            System.out.print(rs.getString("password")+" ");
            System.out.print(rs.getString("nickname")+" ");
            System.out.print(rs.getInt("age"));
            System.out.println();
        }
        // 4.释放资源
        rs.close();
        statement.close();
        conn.close();
    }
}

相关文章

网友评论

    本文标题:MySQL 基础 8 JDBC入门

    本文链接:https://www.haomeiwen.com/subject/tonrqftx.html