Mysql数据库------JDBC概述

版权声明:未经同意窃取和转载我的内容,如果涉及到权益问题,后果自负! https://blog.csdn.net/weixin_41605937/article/details/86358948

什么是持久化(persistence):

持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用

大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以”固化”,而持久化的实现过程大多通过各种关系数据库来完成

持久化的主要应用是将内存中的数据存储在关系型数据库中,当然也可以存储在磁盘文件、XML数据文件中。

JPA:JavaEE的规范,Java persistence api: Java的持久化API. Hibernate实现了该规范.(xml/注解)

--------------------------------------------------------------------

在Java中,数据库存取技术只能通过JDBC访问数据库:

JDBC访问数据库的形式主要有两种:

   1).直接使用JDBC的API去访问数据库服务器(MySQL/Oracle).

   2).间接地使用JDBC的API去访问数据库服务器.

      第三方O/R Mapping工具,如Hibernate, MyBatis等.(底层依然是JDBC)

      JDBC是java访问数据库的基石

什么是持久化(persistence):

持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用

大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以”固化”,而持久化的实现过程大多通过各种关系数据库来完成

持久化的主要应用是将内存中的数据存储在关系型数据库中,当然也可以存储在磁盘文件、XML数据文件中。

JPA:JavaEE的规范,Java persistence api: Java的持久化API. Hibernate实现了该规范.(xml/注解)

--------------------------------------------------------------------

在Java中,数据库存取技术只能通过JDBC访问数据库:

JDBC访问数据库的形式主要有两种:

   1).直接使用JDBC的API去访问数据库服务器(MySQL/Oracle).

   2).间接地使用JDBC的API去访问数据库服务器.

      第三方O/R Mapping工具,如Hibernate, MyBatis等.(底层依然是JDBC)

      JDBC是java访问数据库的基石,其他技术都是对jdbc的封装.

,其他技术都是对jdbc的封装.

 

JDBC(Java DataBase Connectivity):

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

    JDBC为访问不同的数据库提供了一种统一的途径,为开发者屏蔽了一些细节问题

JDBC的目标是使Java程序员使用JDBC可以连接任何提供了JDBC驱动程序的数据库系统,这样就使得程序员无需对特定的数据库系统的特点有过多的了解,从而大大简化和加快了开发过程。

    总结: JDBC本身是java连接数据库的一个标准,是进行数据库连接的抽象层,由java编写的一组类和接口组成,接口的实现由各个数据库厂商来完成

--------------------------------------------------------------------------------

JDBC的版本(不重要):

  JDBC隶属于JavaSE的范畴,伴随着JavaSE的版本升级.

Java6开始:JDBC4.0: (了解),JDBC4.0有一个新特性-无需加载注册驱动.

Java7开始:JDBC4.1:

---------------------------------------------------------------

JDBC的API在哪里?

   ----->JDK的API中.

         java.sql包装的就是JDBC的API.

         各大数据库厂商就会对JDBC的API提供实现类.--->驱动包

   注意:在开发中(编写的Java代码),使用到的关于JDBC的类/接口全部引入的是java.sql包中的.

        千万不要引入com.mysql..Xxx类.

        面向接口编程:

                       JDBC的接口 变量 = new  MySQL的实现();

                                         new  Oracle的实现();

 

使用JDBC的准备环境:

  1):拷贝MySQL的JDBC驱动,到Java项目中:mysql-connector-java-5.1.26-bin.jar

    注意:是jar包,不是zip包.

  2):选择jar,[buil path],把jar添加到classpath路径.

 

JDBC操作第一步:获取JDBC连接对象/Connection对象.

 

操作步骤(贾琏):

1):载注册驱动.

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

   为什么说上述代码,在完成加载注册驱动?

   上述代码:

          1):把com.mysql.jdbc.Driver这一份字节码加载进JVM.

          2):当一份字节码被加载进JVM,就会执行其静态代码块.

              而其底层的静态代码块在完成注册驱动工作.

2):获取接对象.

   通过DriverManager的getConnection方法创建Connection对象.

   Connection  conn = DriverManager.getConnection(url,username,password);

      url=jdbc:mysql://localhost:3306/jdbcdemo

        如果连接的是本机的MySQL,并且端口是默认的3306,则可以简写:

      url=jdbc:mysql:///jdbcdemo

      username=root

      password=admin

可以通过 show processlist命令来查看有几个MySQL进程.

  

从Java6开始:JDBC4.0: (了解)JDBC4.0有一个新特性-无需加载注册驱动.

-----------------------------------------------------------------------

规范要求:从JDBC 4.0所有的驱动都必须包括 META-INF/services/java.sql.Driver 文件。此文件包含 java.sql.Driver 的 JDBC 驱动程序实现的名称。

程序会自动从 META-INF/services/java.sql.Driver去读取当前的驱动类的全限定名,此时程序员不再需要显示的编写 Class.forName("com.mysql.jdbc.Driver")代码.

-----------------------------------------------------------------------

在Web开发中,还是得使用手动加载注册驱动.

-----------------------------------------------------------------------

PS:有的时候,MySQL的驱动类也也会看到使用org.gjt.mm.mysql.Driver的情况,org.gjt.mm.mysql.Driver是早期的驱动名称,后来就改名为com.mysql.jdbc.Driver,现在一般都推荐使用 com.mysql.jdbc.Driver。

 

在最新版本的mysql jdbc驱动中,为了保持对老版本的兼容,仍然保留了org.gjt.mm.mysql.Driver,但是实际上 org.gjt.mm.mysql.Driver中调用了com.mysql.jdbc.Driver,因此现在这两个驱动没有什么区别。

 

操作JDBC的步骤口诀:

-->贾琏欲执事:

1:载注册驱动.

2:获取接对象.

3:创建/获取句对象.

4:行SQL语句.

5:放资源.

猜你喜欢

转载自blog.csdn.net/weixin_41605937/article/details/86358948