美文网首页java学习
NO.51 JDBC核心API

NO.51 JDBC核心API

作者: smallnumber | 来源:发表于2017-08-21 23:40 被阅读0次

一.连接池(数据源)

1.直接使用DriverManager的问题

它没有管理连接上限,并发量大时很容易导致数据库崩溃

每次调用它,它都创建新连接,而不是复用连接,效率低

2.连接池可以解决上述问题

它能管理连接上限,避免数据库崩溃

它可以让我们复用连接,提高效率

3.连接池的工作场景

创建连接池对象时,它会自动连接数据库,并创建一批(配)连接(空闲)当调用连接池方法时,它会返回一个连接,并将此连接标记为占用态;

当使用完连接后,需将连接归还给连接池,它会将连接数据清空,标记为空闲态

当连接池发现空闲连接即将用尽(配)时,它会再次自动创建一批(配)新连接

当占用连接已达数据库上限(配)时,连接池会让调用者等待

当高峰期过后,连接池会自动关闭一批(配)连接

4.有哪些常用连接池?

DBCP

C3P0

5.要点

连接池由sun设计出接口DataSource

由厂商提供实现类(DBCP提供的实现类是BasicDataSource)


二.Statement和PreparedStatement

1.它们的联系

它们都能够执行SQL

PreparedStatement extendsStatement

2.它们的区别(面试题)

Statement适合执行静态(无条件)SQL

PreparedStatement适合执行动态(有条件)SQL

3.Statement运行原理

4.PreparedStatement运行原理

5.使用PreparedStatement可以避免注入攻击


三.ResultSet

1.结果集的指针

2.ResultSetMetaData

结果集元数据:对结果集进行描述(概括)的数据

包含:多少列,列名,列的类型

3.可跳动结果集

几乎不用


JDBC支持如下的日期类型

java.sql.Date年月日

java.sql.Time时分秒

java.sql.Timestamp完整日期

上述日期都是java.util.Date的子类


代码示例:利用连接池获取连接的封装

DBUtil工具

其中db.properties文件内容如下:

db.properties配置文件

测试代码:

测试连接及删除示例 查询示例 插入数据示例 查询核对账号密码示例 查看ResultSet概括信息示例

实现转账功能:

假设当前用户已经登录了网银,他已经输入了收款方的账号,和要转出的金额.他点击了转账按钮,服务器接收了相关的数据,开始进行转账.

转账的步骤:

1.查询付款方余额够不够

2.查询收款方账号,看对不对

3.修改付款方的余额,-N元

4.修改收款方的余额,+N元

相关文章

  • NO.51 JDBC核心API

    一.连接池(数据源) 1.直接使用DriverManager的问题 它没有管理连接上限,并发量大时很容易导致数据库...

  • 6.JDBC学习笔记

    本文内容 1.什么是JDBC以及为什么要使用JDBC 2.JDBC核心API的讲解 3.使用JDBC核心API进行...

  • Jdbc

    Jdbc核心 Jdbc介绍 Jdbc增删改查使用步骤 Jdbc中核心API SQL注入 PreparedState...

  • 基本

    概述 1.什么是JDBC以及为什么要使用JDBC 2.JDBC核心API的讲解 3.使用JDBC核心API进行CR...

  • MySQ中的JDBC规范

    一. JDBC介绍 二. 通过JDBC连接数据库 三. JDBC核心API

  • JDBC核心API

    Statement statement执行查询 创建Statement方式: 执行INSERT,UPDATE和DE...

  • 第五章 类与接口

    以下的类和接口,组成了 JDBC API 5.1 java.sql包 JDBC API 的核心部分都藏在了 jav...

  • JDBC核心API详解

    JDBC核心API详解 时间:20180310 Statement对象:可以类比于一艘货船,1.现在java程序中...

  • JDBC和数据库连接池

    1.JDBC介绍1.1 1.1 JDBC介绍 2.JDBC之API2.1 2.1 JDBC之API 3.JDBC例...

  • JDBC入门

    JDBC连接数据库 三种连接数据库方式 JDBC接口核心的API Driver接口: 表示java驱动程序接口。所...

网友评论

    本文标题:NO.51 JDBC核心API

    本文链接:https://www.haomeiwen.com/subject/mytkdxtx.html