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. python里面的垃圾回收机制

    文章链接:https://www.jianshu.com/p/1e375fb40506 Garbage collection(GC) 现在的高级语言如java,c#等,都采用了垃圾收集机制,而不再是c ...

  2. Mysql的登录

    一.mysql申请连接的四种方式 1 . TCP/IP TCP/IP套接字连接方式是MySQL在任何平台都提供的一种连接方式,也是网络中使用最多的一种方式.这种方式在TCP/IP连接上建立一个基于网络 ...

  3. JUC学习笔记(三)

    JUC学习笔记(一)https://www.cnblogs.com/lm66/p/15118407.html JUC学习笔记(二)https://www.cnblogs.com/lm66/p/1511 ...

  4. Python实现多种SSH连接与文件传输

    Python实现SSH控制 使用Python进行基于口令认证的连接: 1 #加载paramiko包 2 import paramiko 3 #创建新的SSH对象 4 Client=paramiko.S ...

  5. Http Request Smuggling - Note

    http请求走私漏洞 访问Burp靶场速度感人..都要哭了(如果没有账户的先创建账户) 基础补充 pipeline http1.1有了Pipeline,就不需要等待Server端的响应了.浏览器默认不 ...

  6. 面试常见SQL中where和having的区别你确定你知道吗!

    "Where" 是一个约束声明,使用Where来约束来之数据库的数据,Where是在结果返回之前起作用的,且Where中不能使用聚合函数. "Having" 是 ...

  7. JVM学习笔记-第三章-垃圾收集器与内存分配策略

    JVM学习笔记-第三章-垃圾收集器与内存分配策略 tips:对于3.4之前的章节可见博客:https://blog.csdn.net/sanhewuyang/article/details/95380 ...

  8. 跟我一起写 Makefile(四)

    书写规则 ---- 规则包含两个部分,一个是依赖关系,一个是生成目标的方法. 在Makefile中,规则的顺序是很重要的,因为,Makefile中只应该有一个最终目标,其它的目标都是被这个目标所连带出 ...

  9. Shell-05-函数

    函数 函数定义 shell中函数的定义格式如下 [ function ] funname [()] { action; [return int;] } 说明: 1.可以带function fun() ...

  10. 【笔记】特征脸(PCA在人脸识别领域的应用)

    人脸识别与特征脸(简单介绍) 什么是特征脸 特征脸(Eigenface)是指用于机器视觉领域中的人脸识别问题的一组特征向量,该方法被认为是第一种有效的人脸识别方法. PCA的具体实现思想见 [笔记]主 ...