JDBC : Java Database Connectivity,Java数据库连接。SUN公司为了简化、统一对数据库的操作,定义了一套Java操作数据库的规范,称之为JDBC。

JDBC就像一座桥,连接Java程序与数据库 。

JDBC的简介

驱动实际上就是现在的程序能够跟目标程序进行通信的一个接口规范,驱动中包含接口实现。

进行JDBC开发
1、学习JDBC接口规范 java.sql javax.sql 接口如何使用

2、在工程中导入 相应数据库驱动(JDBC实现)

核心JDBC接口规范
DriverManager 驱动管理器
Connection 连接

Statement 操作状态 (子接口 PreparedStatement、CallableStatement)
ResultSet
结果集

第一个JDBC程序
1、搭建数据库环境
在运行中通过services.msc启动MySQL

再通过cmd连接mysql

创建数据库
切换数据库
创建数据表:

向数据表插入数据

通过查询语句进行查询:

2、创建web工程
megustas,导入数据库驱动(去各个数据库的官网下载),将对应的jar包复制到WebContent\WEB-INF\lib目录下:

3、新建Java程序,使用JDBC接口规范连接数据库

注意:在实际开发中并不推荐采用registerDriver方法注册驱动,一般使用具体原因会在后续JDBC
API中进行详细介绍。

结果集ResultSet可以通过下图进一步认识:

sql注入

可以使用PreparedStatement代替Statement,通过预编译来防止这种sql注入。

小结

一、搭建实验环境 :
1、在mysql中创建一个库,并创建user表和插入表的数据。
2、新建一个Java工程,并导入数据驱动。

二、编写程序,在程序中加载数据库驱动
DriverManager. registerDriver(Driver driver)

三、建立连接(Connection)
Connection
conn=DriverManager.getConnection(url,user,pass);

四、创建用于向数据库发送SQL的Statement对象,并发送sql(向数据库发送的是sql语句,托福考试评分标准得到的回复是ResultSet结果集

Statement st=conn.createStatement();
ResultSet rs=st.executeQuery(sql);

五、从代表结果集的ResultSet中取出数据,打印到命令行窗口
六、断开与数据库的连接,并释放相关资源

  • 通过DriverManager加载驱动程序driver;
  • 通过DriverManager类获得表示数据库连接的Connection类对象;
  • 通过Connection对象绑定要执行的语句,生成Statement类对象;
  • 执行SQL语句,接收执行结果集ResultSet;
  • 可选的对结果集ResultSet类对象的处理;
  • 必要的关闭ResultSet、Statement和Connection

图解如下:

对于上图中的数据库URL需要注意:
连接任何数据库 编写JDBCURL

Mysql URL : jdbc:mysql://localhost:3306/day13 通过?传递参数

Oracle写法:jdbc:oracle:thin:@localhost:1521:sid

常见API

1、Connection接口 —- JDBC连接表示接口
* Connection接口一个对象 代表 一个数据库 连接
作用两点:

1) 获得操作数据库Statement对象
—– Statement 获得普通操作状态对象
—–
PreparedStatement(是Statement子接口) 预编译状态对象
——
CallableStatement(是PreparedStatement子接口) 操作数据库内部存储过程的
*
Statement对象可以向数据库发送sql语句,获得ResultSet结果集

2) 进行事务控制
开启一个事务
提交一个事务
回滚一个事务

2、Statement接口 —- 代表一个操作状态
作用:操作数据库SQL语句、调用存储过程

:用于向数据发送查询语句。select语句,返回值ResultSet 结果集
:用于向数据库发送insert、update或delete语句
返回值int 受影响行数
:用于向数据库发送任意sql语句 — 建立数据库 建立数据表,增删改查 — 返回值boolean
*
sql结果是ResultSet 返回true — 否则false

批处理 —- 一次执行多条sql
:把多条sql语句放到一个批处理中。
:向数据库发送一批sql语句执行。

3、ResultSet

JDBC简介及JDBC编写步骤及常见API的更多相关文章

  1. 第16讲:ODBC&JDBC简介

    一.ODBC简介 1. ODBC的概念 ①ODBC:Open DataBase Connection,即开放数据库连接 ②ODBC是一种标准,它规定了不同语言的应用程序与不同数据库服务器之间通讯的方式 ...

  2. JDBC简介及编码步骤

    一.什么是JDBC JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Jav ...

  3. JDBC设计理念浅析 JDBC简介(一)

    概念 JDBC是J2EE的标准规范之一,J2EE就是为了规范JAVA解决企业级应用开发制定的一系列规范,JDBC也不例外. JDBC是用于Java编程语言和数据库之间的数据库无关连接的标准Java A ...

  4. JDBC 异常简介 jDBC简介(六)

    SQL 异常简介 对于数据库的操作访问,必然也很可能抛出异常. JDBC中定义了SQLException,用于描述数据库相关操作中可能出现的异常情况. java.sql.SQLException    ...

  5. JDBC与ORM发展与联系 JDBC简介(九)

    概念回顾 回顾下JDBC的概念: JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它 ...

  6. JavaWeb技术(一):JDBC简介

    一.  JDBC简介 1. Java Database Connectivity(JDBC) 使用JDBC可以对数据库进行访问 2. JDBC的核心接口 1)DriverManager 驱动管理器接口 ...

  7. 数据库 MySQL Jdbc JDBC的六个固定步骤

    *0 案例:    a)在JavaScript中使用正则表达式,在JS中正则表达式的定界符是://     var regexp = /^[0-9]+$/;     if(regexp.test(nu ...

  8. 原生Jdbc操作Mysql数据库开发步骤

    原生Jdbc操作Mysql数据库开发步骤 原生的Jdbc就是指,不使用任何框架,仅用java.sql包下的方法实现数据库查询等的操作. 下面是开发步骤:        1.导入数据库驱动包       ...

  9. JDBC学习笔记之JDBC简介

    1. 引言 JDBC API是一种Java API,可以访问任何类型的表格数据,特别是存储在关系数据库中的数据. JDBC可以帮助我们编写下列三种编程活动的java应用程序: 1.连接到数据源,如数据 ...

随机推荐

  1. Ory Kratos 用户认证

    Ory Kratos 为用户认证与管理系统.本文将动手实现浏览器(React+AntD)的完整流程,实际了解下它的 API . 代码: https://github.com/ikuokuo/start ...

  2. 插入排序(insertion_sort)——Python实现

      # 插入排序 # 作用:对给出的n个顺序不定的数进行排序 # 输入:任意数组A # 输出:按顺序排列的数组A # 时间复杂度 n(n-1) 至 (n(n-1))/2   # 插入排序过程 # 第一 ...

  3. 浅析线程池 ThreadPoolExecutor 源码

    首先看下类的继承关系,不多介绍: public interface Executor {void execute(Runnable);} public interface ExecutorServic ...

  4. Resnet网络详细结构(针对Cifar10)

    Resnet网络详细结构(针对Cifar10) 结构 具体结构(Pytorch) conv1 (conv1): Conv2d(3, 64, kernel_size=(3, 3), stride=(1, ...

  5. Maven项目思考&实战

    参考了网络上很多文章, 特此感谢. Maven项目规范 同一项目中所有模块版本保持一致 子模块统一继承父模块的版本 统一在顶层模块Pom的节中定义所有子模块的依赖版本号,子模块中添加依赖时不要添加版本 ...

  6. 优化SQL 查询性能

    为什么查询会很慢 如果把查询看作是一个任务,那么它由一系列子任务组成,每个子任务都会消耗一定的时间.要优化查询,实际上是要优化其子任务,要么消除其中一些子任务,要么减少子任务的执行次数,要么让子任务运 ...

  7. 虚拟机中桥接模式和NAT模式以及仅主机模式的区别

    桥接模式和NAT模式 网络连接类型的选择,网络连接类型一共有桥接.NAT.仅主机和不联网四种. 桥接:选择桥接模式的话虚拟机和宿主机在网络上就是平级的关系,相当于连接在同一交换机上. NAT:NAT模 ...

  8. Fluid + GooseFS 助力云原生数据编排与加速快速落地

    前言 Fluid 作为基于 Kubernetes 开发的面向云原生存算分离场景下的数据调度和编排加速框架,已于近期完成了 v0.6.0 版本的正式发布.腾讯云容器 TKE 团队一直致力于参与 Flui ...

  9. Java工具包之-Guava

    https://blog.csdn.net/zmx729618/article/details/78540026 https://my.oschina.net/realfighter/blog/349 ...

  10. Java Swing 盒布局管理器

    Swing 盒布局管理器 因为项目的原因,重新看看swing的东西,在想要将两个横向的容器纵向表示的时候,发现用盒布局 话不多说,直接代码 package ui; import javax.swing ...