JDBC(Java 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

Mysql的url地址的简写形式: jdbc:mysql:///sid

常用属性:useUnicode=true&characterEncoding=UTF-8

原文地址:https://www.cnblogs.com/shelly0307/p/10392824.html

时间: 2024-10-07 06:32:44

JDBC(Java Data Base Connectivity——java数据库连接)的相关文章

Java基础知识强化25:JDBC(Java Data Base Connectivity,java数据库连接)

JDBC  1.    JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成.JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名. 2.     有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事.换言之,有了JDBC API,就不必为访问Sybase数据库专门写一

(十七)jdbc(Java Data Base Connectivity,java数据库连接)基础使用

一.JDBC相关概念介绍 1.1 JDBC介绍 SUN公司为了简化.统一对数据库的操作,定义了一套Java操作数据库的规范(接口),称之为JDBC.这套接口由数据库厂商去实现,这样,开发人员只需要学习jdbc接口,并通过jdbc加载具体的驱动,就可以操作数据库. 如下图所示: 二.编写JDBC程序 2.1 搭建实验环境 A. 启动mysql数据库,即开启mysql/bin/mysqld.exe. B. 创建数据库,并创建所需的表.如下图(在创建数据库和表的时候请对其编码设置为utf-8编码否则后

JDBC(Java Data Base Connectivity)

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

JDBC(Java Data Base Connectivity)基本用法

一.什么是JDBC JDBC(Java Database Connection)为java开发者使用数据库提供了统一的编程接口,它由一组java类和接口组成.是java程序与数据库系统通信的标准APl. JDBC API使得开发人员可以使用纯 java 的方式来连接数据库,并执行操作. sun公司由于不知道各个主流商用数据库的程序代码,因此无法自己写代码连接各个数据库.因此,sun公司决定自己提供一套api,凡是数据库想与Java进行连接的,数据库厂商自己必须实现JDBC这套接口.而数据库厂商的

JDBC(Java Data Base Connectivity)高级用法

一.批处理 Batch 对于大量的批处理,建议使用statement,因为PreparedStatement的预编译空间有限,当数据量特别大时,会发生异常. 示例 package com.lgd.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; /**

JDBC连接数据库(Java DataBase Connectivity,java)

通过JDBC操作数据库 package Head18; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import com.mysql.jdbc.PreparedStatement; public class JDBC { public static void

Java利用Eclipse和Mysql数据库连接并存储图片——取出图片

通过流和JPEGCodec.JPEGImageEncoder类的操作来取出数据库中的图片. 注释很详细,注意要额外的引入mysql的驱动包,要修改数据库的用户名和密码以及URL.希望对大家有帮助. import java.awt.image.BufferedImage; import java.io.*; import java.sql.Blob; import java.sql.Connection; import java.sql.DriverManager; import java.sql

Java利用Eclipse和Mysql数据库连接并存储图片——存储图片

import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; public class insertImage {  public static void main(String[]args) throws Ex

自定义的jdbc连接工具类JDBCUtils【java 工具类】

JDBCUtils 类: 1. 创建私有的属性*(连接数据库必要的四个变量):dreiver url user password 2. 将构造函数私有化 3.将注册驱动写入静态代码块 4.外界只能通过调用本工具的静态方法 getConnectio() 获取数据库连接,让调用者处理异常(抛出异常) 5. 资源关闭采用也采用静态方法调用 package com.test.utils; import java.sql.Connection; import java.sql.DriverManager;