WEB基础--JDBC基础

JDBC简介

JDBC概述

数据库持久化介绍

jdbc是java做数据库持久化的规范,持久化(persistence):把数据保存到可掉电式存储设备(断电之后,数据还在,比如硬盘,U盘)中以供之后使用。大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以"固化"

常见的持久化

文本文件(通过记事本等输入文本保存,程序中很少使用),

XML(把数据存在XML,但是XML查找,删除,修改 也是比较麻烦),

数据库(把数据存在数据库,可以直接通过SQL取到,比较容易)

​    结论:持久化的主要应用是将内存中的数据存储在关系型数据库中,当然也可以存储在磁盘文件、XML数据文件中,只是比较麻烦。

​    要把数据保存到数据库\-\--通过JAVA代码去操作数据库(通过JDBC访问数据库)

为什么要使用JDBC

因为把要数据持久化,持久化数据的最好方式就是把数据保存到数据库,而Java要数据保存到数据到数据库,就需要使用JDBC

JDBC接口说明

JDBC详解

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

如何使用JDBC:jdbc是java定义的进行数据库持久化的规范,java程序员直接调用java集成在rt.jar包中的接口,每个数据库厂商提供驱动jar包,我们如果要想操作对应的数据库。就导入对应的驱动,然后直接调用接口就OK

JDBC简单快速入门

IDEA连接数据库

点击右侧的Database,在弹出页面输入对应信息

点击Test Connection,进行相关文件的下载与安装

导入JDBC jar包

注意:一定要导入自身计算机所安装的MySQL数据库对应大版本的mysql jar包,不然会导致一系列问题。添加完成后,将jar包添加为库,并重构项目即可。

使用JDBC操作数据库

加载驱动
 Class.forName("com.mysql.cj.jdbc.Driver");
创立连接
String url="jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC";
String username="root";
String password="123456";
connection = DriverManager.getConnection(url,username,password);
获取要执行的SQL语句
  statement=connection.createStatement();
  String sql="DELETE from  product WHERE  id=21";
执行SQL语句
statement.execute(sql);
释放资源
statement.close();
connection.close();

运行结果:id为21的数据被删除

完整代码:

import java.sql.*;

public class JDBC1 {
    public static void main(String[] args) throws Exception {
        Statement statement=null;
        Connection connection=null;
        try {
            //贾琏欲执事
            //1.加载JDBC连接
            Class.forName("com.mysql.cj.jdbc.Driver");
            //2.连接数据库
            String url="jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC";
            String username="root";
            String password="123456";
            connection = DriverManager.getConnection(url,username,password);
            //3.获取SQL语句
            statement=connection.createStatement();
            String sql="DELETE from  product WHERE  id=21";
            //4.执行SQL
          statement.execute(sql);
        }catch (Exception e){
                e.printStackTrace();
        }finally {
            //5.释放资源
            try {
                statement.close();
            }catch (SQLException e){
                e.printStackTrace();
            }
            try {
                connection.close();
            }catch (SQLException e){
                e.printStackTrace();
            }

        }

    }
}
写在最后

JDBC是JAVA操作数据的规范,现在基本都是以Mybatis为主,但Mybatis的底层仍然为JDBC。笔者之前面试的时候,被问到相关Mybatis的题目,都是偏底层JDBC为主。会了JDBC,Mybatis自然而然便会十分顺手。笔者小,中,大厂均有面试经历,每日分享JAVA全栈知识,希望能与大家共同进步。

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java-Web程序设计实战-第8章-JDBC详解全文共86页,当前为第1页。 2 Java-Web程序设计实战-第8章-JDBC详解全文共86页,当前为第2页。 3 Java-Web程序设计实战-第8章-JDBC详解全文共86页,当前为第3页。 JDBC是一个相对"低级"的接口,也就是说,它能够直接调用SQL命令。在这方面它的功能极佳,数据库连接API易于使用,但它同时也被设计为一种基础接口,在它之上可以建立高级接口和工具。高级接口是"对用户友好的"接口,它使用的是一种更易理解和更为方便的API。 在关系数据库的"对象/关系"映射中,表中的每行对应于类的一个实例,而每列的值对应于该实例的一个属性。于是,程序员可直接对Java对象进行操作;存取数据所需的SQL调用将在"掩盖下"自动生成。此外还可提供更复杂的映射,例如将多个表中的行结合进一个Java类中。 随着人们对JDBC兴趣的提高,程序员也一直在编写力图使最终用户对数据库的访问变得更为简单的应用程序。例如应用程序可提供一个选择数据库任务的菜单,任务被选定后,应用程序将给出提示及空白以填写执行选定任务所需的信息,信息输入应用程序后将自动调用所需的SQL命令。在这样一种程序的协助下,即使用户根本不懂SQL的语法,也可以执行数据库任务。 4 Java-Web程序设计实战-第8章-JDBC详解全文共86页,当前为第4页。 8.1.1 JDBC驱动类型 8.1.2 JDBC的常用接口和类 8.1.3 JDBC编程的基本步骤 5 Java-Web程序设计实战-第8章-JDBC详解全文共86页,当前为第5页。 JDBC是应用程序编程接口,描述了一套访问关系数据库的标准Java类库,并且还为数据库厂商提供了一个标准的体系结构,让厂商可以为自己的数据库产品提供JDBC驱动程序,这些驱动程序可以用Java应用程序直接访问厂商的数据产品,从而提高Java程序访问数据库的效率。 Java程序的JDBC可以分为如下四种驱动类型: 1)JDBC-ODBC桥 ODBC是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC,因为ODBC推出的时间要比JDBC早,所以大部分数据库都支持通过ODBC来访问。 SUN公司提供了JDBC-ODBC这个驱动来支持像Microsoft Access之类的数据库,JDBC API通过调用JDBC-ODBC桥JDBC-ODBC调用了ODBC API从而达到访问数据库的ODBC层,这种方式经过了多层调用效率比较低,用这种方式访问数据库,需要客户的机器上具有JDBC-ODBC驱动,ODBC驱动和相应的数据库的本地API。 6 Java-Web程序设计实战-第8章-JDBC详解全文共86页,当前为第6页。 2)本地API驱动 本地API驱动直接把JDBC调用转变为数据库的标准调用,然后再去访问数据库,这种方法需要本地数据库驱动代码。本地API驱动比JDBC-ODBC的执行效率更高,但是它仍然需要在客户端加载数据库厂商提供的代码库,这样就不适合基于internet的应用。并且,他的执行效率比三代和四代的JDBC驱动还是不够高。 3)网络协议驱动 这种驱动实际上是根据我们熟悉的三层结构建立的。JDBC先把对数据库的访问请求传递给网络上的中间件服务器,中间件服务器再把请求翻译为符合数据库规范的调用,再把这种调用传给数据库服务器。如果中间件服务器也是用Java开法的,那么在在中间层也可以使用一代、二代JDBC驱动程序作为访问数据库的方法,由此构成了一个"网络协议驱动—中间件服务器—数据库Server"的三层模型,由于这种驱动是基于Server的,所以它不需要在客户端加载数据库厂商提供的代码库。而且它在执行效率和可升级性方面是比较好的,因为大部分功能实现都在Server端,所以这种驱动可以设计的很小,可以非常快速的加载到内存中。但是这种驱动在中间件中仍然需要有配置数据库的驱动程序,并且由于多了一个中间层传递数据,它的执行效率还不是最好。 7 Java-Web程序设计实战-第8章-JDBC详解全文共86页,当前为第7页。 4)本地协议驱动 这种驱动直接把JDBC调用转换为符合相关数据库系统规范的请求,由于四代驱动写的应用可以直接和数据库服务器通讯,这种类型的驱动完全由Java实现,对于本地协议驱动的数据库Server来说,由于这种驱动不需要先把JDBC的调用传给ODBC或本地数据库接口或者是中间层服务器,所以它的执行效率是非

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值