JDBC由Sun公司制定,全称JavaDataBase Connectivity,是一种可以执行SQL语句并可返回结果的javaAPI,支持多种关系型数据库,封装在Java.sql.*

它的具体位置在\jre7\lib\rt.jar

1、JDBC的工作原理

JDBC的最大特点是独立于具体的关系型数据库,它定义了一系列的Java类,完成数据库连接(Connections)、SQL语句(Statements)、结果集(ResultSet)和其他的数据库对象,从而达到Java程序和数据库交互的目的

2、JDBC的四种驱动类型

在Java程序中,JDBC可以分为以下4种驱动类型:

(1)JDBC-ODBC Bridge

用JDBC-ODBC Bridge可以访问一个ODBC数据源,但在执行Java程序的机器上必须安装ODBC驱动,并完成配置

可以看出,中间存在一个JDBC-ODBC的转换,影响了执行的效率

(2)JDBC Native Bridge

这种方式需要在执行JSP程序的机器上安装本地的针对特定数据库(MySQL/SQL/Oracle)的驱动程序,通过这个程序把对数据库的JDBC调用转化为数据库的API调用,性能比JDBC-ODBC更好,缺点是要安装驱动

(3)JDBC-Network Bridge

这种方式不需要安装驱动程序,直接用JDBC通过网络连接数据库,与平台无关,所以在WEB开发中大量使用

(4)Pure Java JDBC Driver

Java驱动程序运行在客户端,客户端可以直接访问数据库,其体系结构最为简单,因此安全性及程序的逻辑性不行

3、JDBC连接数据库(以mysql为例)

(1)加载JDBC驱动程序

通过java.lang.Class类中的静态方法forName实现

(2)提供JDBC连接的URL

协议:子协议:数据源标识

其中,协议:在JDBC中总是以jdbc开始

子协议:是Bridge的驱动程序或是数据库管理系统名称,如MySQL就是mysql,常用的端口号是3306

数据源标识:标记找出数据源的地址和连接接口

(3)创建数据库的连接

向java.sql.DriverManager请求获取Connection对象

(4)创建Statement

其中Statement分为三类,区别如下:

A、执行静态SQL:通过Statement实例实现

B、执行动态SQL:通过PreparedStatement实例实现

C、执行数据库存储过程:通过CallableStatement实例实现

(5)执行SQL语句,完成数据库的增删改或是查询功能

其中Statement接口提供了三种执行SQL语句的方法,区别如下:

A、Result executeQuery(String sqlString):用于查询数据库的SQL,如SELECT,返回一个结果集(ResultSet)

B、int executeUpdate(String sql):用于执行INSERT、UPDATE或DELETE语句以及SQL DDL(数据定义)语句

C、boolean execute(String sql):用于返回多个结果集、多个更新计数或者二者组合(不太懂)

(6)得到处理结果(ResultSet)

(7)关闭JDBC对象

先关闭Statement再关闭Connection连接

jsp对数据库的使用的更多相关文章

  1. jsp与数据库的连接

    经过一段时间的学习与上网查资料,我已经成功的用java语言连接上了数据库, 本以为同理jsp跟数据库的连接肯定水到渠成的,但是在经过尝试很多次后我发现现实永远是骨感的,最终结果是花了一个下午的时间去建 ...

  2. jsp链接数据库

    数据库表代码: /*Navicat MySQL Data Transfer Source Server : localhost_3306Source Server Version : 50528Sou ...

  3. JSP-Runoob:JSP 链接数据库

    ylbtech-JSP-Runoob:JSP 链接数据库 1.返回顶部 1. JSP 连接数据库 本教程假定您已经了解了 JDBC 应用程序的工作方式.在您开始学习 JSP 数据库访问之前,请访问 J ...

  4. java:JSP(JSPWeb.xml的配置,动态和静态导入JSP文件,重定项和请求转发,使用JSP实现数据库的增删改查实例)

    1.JSP的配置: <%@ page language="java" import="java.util.*" pageEncoding="UT ...

  5. JSP读取数据库二进制图片并显示

    用JSP从数据库中读取二进制图片并显示在网页上 环境mysql+tomcat: 先在mysql下建立如下的表. 并存储了二进制图像(二进制格式存储图片可以参考我的另一篇博客:https://www.c ...

  6. Hibernate和jsp做数据库单表的增删改查

    虽然很基础,但是我转牛角尖了~~~~这是几个文件 1.最重要的.Java文件 package com.chinasofti.hibb.struts; import org.hibernate.Sess ...

  7. jsp java 数据库 乱码总结

    Java中文问题的由来: Java的内核和class文件是基于unicode的,这使Java程序具有良好的跨平台性,但也带来了一些中文乱码问题的麻烦.原因主要有两方面,Java和JSP文件本身编译时产 ...

  8. JSP实现数据库(MySQL)查询——Java Web练习(二)

    1.创建数据库表student(数据库test01) 2.修改success.jsp页面,修改后的页面整体代码如下: <%@ page language="java" imp ...

  9. jsp执行数据库查询并分页

    需求: 有一批企业的基本信息需要展示出来,要求一级页以列表形式展示企业清单,点击公司名称后进入二级页面,二级页面展示企业简介和几张图片. 实现效果: 开发环境: Win7,Eclipse,Mysql ...

  10. mysql+servlet+jsp实现数据库的增删改查

    首先,了解数据库目前我们仅仅用来存放数据,在这里我们在数据库中生成一个表,包含id,classname,teacher,location.Tomcat用来配置eclipse,只有这样我们才能使用JSP ...

随机推荐

  1. 【转载】Chrome使用自定义协议打开本地程序并运行IE打开网页

    部分内容转载自: http://blog.sina.com.cn/s/blog_e2b8213a0102wqby.html 项目中遇到某需求:chorme要运行IE并打开网页.解决方案之一就是通过自定 ...

  2. PhpStorm 配置 PHPUnit

    配置说明 全局安装phpunit代码 composer global require phpunit/phpunit 该代码会自动保存在 /User/你的用户名/.composer/vendor/ph ...

  3. sqlserver 表值函数与标量值函数

    除了在我们常用的程序开发中要用到函数外,在sql语句中也常用到函数,不论哪种,思想都没有变,都是为了封装,可复用. 创建的方法和整体结构都大体相同,都少不了函数名,函数的形参,返回值等这些. 一.表值 ...

  4. python三大主流web框架之Django安装、项目搭建

    这一篇我们将迎来python强大的web框架Django,相信大家都已经不陌生,本篇将介绍Django的安装及基础项目搭建,大神略过~ Django是需要我们手动pip安装的,首先我们来安装Djang ...

  5. 安装Flume——海量日志收集聚合系统

    下载flume:  1.官方网站下载: http://flume.apache.org/download.html 2.百度网盘资源: apache-flume-1.9.0-bin.tar 链接:ht ...

  6. Codeforces Round #564 (Div. 2)B

    B. Nauuo and Chess 题目链接:http://codeforces.com/contest/1173/problem/B 题目 Nauuo is a girl who loves pl ...

  7. 19 | 真实的战场:如何在大型项目中设计GUI自动化测试策略

  8. C#类成员初始化顺序

    这里直接给出C#类成员一般初始化顺序: 子类静态字段 子类静态构造 子类实例字段 父类静态字段 父类静态构造 父类实例字段 父类实例构造 子类实例构造 为什么说是"一般"初始化顺序 ...

  9. TensorFlow 2.0 入门教程实战案例

    中文文档 TensorFlow 2 / 2.0 中文文档 知乎专栏 欢迎关注知乎专栏 https://zhuanlan.zhihu.com/geektutu 一.实战教程之强化学习 TensorFlo ...

  10. Java Volatile 关键字详解

    原文链接:https://www.cnblogs.com/zhengbin/p/5654805.html 一.基本概念 先补充一下概念:Java 内存模型中的可见性.原子性和有序性. 可见性: 可见性 ...