当前位置 : 主页 > 编程语言 > java >

JDBC简介

来源:互联网 收集:自由互联 发布时间:2022-08-10
/* *作者:呆萌老师 *☑csdn认证讲师 *☑51cto高级讲师 *☑腾讯课堂认证讲师 *☑网易云课堂认证讲师 *☑华为开发者学堂认证讲师 *☑爱奇艺千人名师计划成员 *在这里给大家分享技术、知


 

/*
*作者:呆萌老师
*☑csdn认证讲师
*☑51cto高级讲师
*☑腾讯课堂认证讲师
*☑网易云课堂认证讲师
*☑华为开发者学堂认证讲师
*☑爱奇艺千人名师计划成员
*在这里给大家分享技术、知识和生活
*各种干货,记得关注哦!
*/

JDBC简介_数据库

Java中给我们提供专门的一套技术,可以通过其中的那些类和接口操作任何的数据库,这个技术就是今天要学习的JDBC。

  • JDBC的全称为:java database connection (java和 数据库的连接 )
  • JDBC是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用​​Java语言​​编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序
  • JDBC简介_mysql_02

    JDBC简介_jdbc_03

    ​编辑

     

    JDBC的常用类和接口

    JDBC有关的类:都在java.sql 和 javax.sql 包下

    JDBC简介_jdbc_04

    JDBC简介_jdbc_05

    ​编辑

     

    DriverManager : 数据库驱动管理类 注册驱动

    Connection: 接口, 建立数据库连接的一个接口。

    Statement、PreparedStatement、CallbackStatement: 向数据库发送sql,并且得到数据库的返回信息。

    ResultSet: 结果集。 Statement 发送sql语句,得到的结果 封装在 ResultSet 中。

    JDBC编程步骤详解 

    JDBC简介_mysql_06

    JDBC简介_mysql_07

    ​编辑

    DriverManager 驱动管理类

    作用:Jdbc程序中的DriverManager用于加载驱动,并创建与数据库的链接

    目标:掌握Class.forName("com.mysql.jdbc.Driver"), 从哪里来的?

    1、注册一个JDBC驱动程序

    ​​static void​​

    ​​registerDriver​​​​(​​​​Driver​​​​ driver)​​
              ​​DriverManager​​​ 注册给定驱动程序。

    DriverManager.registerDriver(new Driver());

    注意:在实际开发中并不推荐采用registerDriver方法注册驱动。

    原因:

    1、对驱动API的依赖性太高。

    2、驱动会注册两次。(因为mysql的驱动类Driver中已经注册一次了)

    推荐方式:

    // 将驱动类加载到内存中,会自动执行静态代码块中的内容

          Class.forName("com.mysql.jdbc.Driver");

    我们来看看com.mysql.jdbc.Driver类的源代码:

    com.mysql.jdbc.Driver.java

    public class Driver extends NonRegisteringDriver implements java.sql.Driver {

    static {

    try {

    java.sql.DriverManager.registerDriver(new Driver());

    } catch (SQLException E) {

    throw new RuntimeException("Can't register driver!");

    }

    }

    ……

    }

    JDBC简介_jdbc_08

    com.mysql.jdbc.Driver类中的static块会创建本类对象,并注册到DriverManager中。这说明只要去加载com.mysql.jdbc.Driver类,那么就会执行这个static块,从而也就会把com.mysql.jdbc.Driver注册到DriverManager中,

    所以可以把注册驱动类的代码修改为加载驱动类。

    2、建立数据库的连接:

    ​​static ​​​​Connection​​

    ​​getConnection​​​​(​​​​String​​​​ url, ​​​​String​​​​ user, ​​​​String​​​​ password)​​
              试图建立到给定数据库 URL 的连接。

    参数详解:

    url :连接到具体的数据库

    user : 数据用户名

    password : 数据库密码

    DriverManager.getConnection("jdbc:mysql://localhost:3306/day07", "root", "123");

    3、URL介绍:指定一个具体的数据库

    作用:URL用于标识数据库的位置,程序员通过URL地址告诉JDBC程序连接哪个数据库

    语法格式:jdbc:mysql:// localhost:3306/数据库名?key=value

    JDBC简介_java_09

    JDBC简介_mysql_10

    简写形式:jdbc:mysql:///数据库名  等价于 jdbc:mysql://localhost:3306/数据库名

    简写要求:必须是本地数据库,端口号必须是3306

    不建议使用简写方式

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

    解决问题:中文乱码异常

    举例:jdbc:mysql://localhost:3306/day07?useUnicode=true&characterEncoding=utf8

     

    更多了解

    ​​https://edu.51cto.com/lecturer/14175030.html​​

    上一篇:聊聊Mybatis的类型转换的别名管理
    下一篇:没有了
    网友评论