JDBC阶段总结
一、JDBC的概念:Java DataBase Connectivity用Java语言操作数据库(通过SQL)
二、数据库的驱动和JDBC的关系
三、编写JDBC的步骤:
a、注册驱动
b、建立与数据库的链接
c、创建代表语句的对象
d、执行语句
e、如果有结果集,进行遍历
f、释放资源
四、JDBC相关类和接口的详解
1、DriverManager
注册驱动
获取与数据库的链接
2、Connection
所有的与数据库的交互都是基于该接口
功能:
创建代表SQL语句的对象(普通语句,预编译语句,调用存储过程)
事务控制
事务隔离级别控制
数据库元数据信息的获取
3、Statement
执行SQL语句:executeQuery executeUpdate
执行批处理
4、ResultSet
应该把查询到的结果封装到JavaBean中
5、PreparedStatement(首选)
参数采用占位符
防止sql注入
预编译SQL语句,执行效率高
五、释放资源
抽取了JDBC工具类(切换数据库方便)
编码有模板
六、基本的CRUD操作
七、在真实案例中写了一个Dao实现(用户注册和登录案例)
八、JavaWeb案例:客户信息管理 CRUD
九、大数据的存取:Clob和Blob
十、批处理SQL语句:提高数据库的利用率(执行效率)
十一、JDBC如何调用数据库中的存储过程
SQL: {call 存储过程名(?,?)}
输入参数要给值;输出参数要注册数据类型(java.sql.Type)
十二、事务入门
MySQL:start transaction;commit;rollback;
JDBC:conn.setAutocommit(false) commit() rollback()
十三、事务的特性(原子性 一致性 持久性 隔离性)
十四、隔离性专题:
概念:脏读、不可重复读、虚读
防止这些不正确的情况,通过调整隔离级别:
READ UNCOMMITTED
READ COMMITTED
REPEATABLE READ
SERIALIZABLE
级别越高,效率越低,同时数据越安全
开启事务前必须设置隔离级别
十五、链接池原理
连接池:提高效率
包装设计模式
动态代理
十六、开源数据源
DBCP
C3P0
获取TomcatJNDI中的数据源:会配置
十七、数据库元数据信息的获取(为编写框架做准备)
十八、编写自己的JDBC框架(只是对JDBC编码进行了简化)
策略设计模式:ResultSetHandler接口
十九、DBUtils框架QueryRunner的基本使用
批处理;查询;DML
二十、DBUtils中的ResultSetHandler的实现类详解
封装的是结果集
二十一、ThreadLocal(很重要。线程局部变量)
二十二、实际开发中如何控制事务
1、DAO只负责CRUD
2、面向切面编程:借助动态代理
二十三、利用DBUtils进行多表操作(对学习Hibernate非常有帮助)
一对多
多对多
一对一
重点:表如何设计;类如何设计;他们间的对应关系必须清楚
表的关系通过外键进行关联
对象间的关系通过关联进行引用的
二十四、大结果集的分页(提高效率)
MySQL:limit M,N
M开始记录的索引
N每次取多少条
抽取了公用的代码:Page.java Page.jsp
JDBC阶段总结的更多相关文章
- 框架基础之Hibernate简介
框架基础之Hibernate简介 1.什么是Hibernate? Hibernate是一个开发源代码的对象关系映射框架,它对JDBC进行非常轻量级的对象封装,使得程序员可以随心所欲地使用对象编程思维来 ...
- 菜鸟学习Hibernate——持久层框架
一.Java操作数据库的阶段. Java对数据库进行操作经历了三个阶段. 1.1操作JDBC阶段 这个阶段就是利用JDBC类来操作数据库.这个阶段出现了两个问题: 代码过度重复:在每一次数据库操作的是 ...
- JPA + SpringData 操作数据库原来可以这么简单 ---- 深入了解 JPA - 1
原创播客,如需转载请注明出处.原文地址:http://www.cnblogs.com/crawl/p/7703679.html ------------------------------------ ...
- 开放源代码的设计层面框架Spring——day01
spring第一天 一.Spring概述 1.1spring概述 1.1.1spring介绍 Spring是分层的Jav ...
- JPA + SpringData 操作数据库--Helloworld实例
前言:谈起操作数据库,大致可以分为几个阶段:首先是 JDBC 阶段,初学 JDBC 可能会使用原生的 JDBC 的 API,再然后可能会使用数据库连接池,比如:c3p0.dbcp,还有一些第三方工具, ...
- (转)JPA + SpringData
jpa + spring data 约定优于配置 convention over configuration http://www.cnblogs.com/crawl/p/7703679.html 原 ...
- JPA、SpringData JPA 、Hibernate和Mybatis 的区别和联系
一.JPA 概述 1. Java Persistence API(Java 持久层 API):用于对象持久化的 API 2. 作用:使得应用程序以统一的方式访问持久层 3. 前言中提到了 Hibern ...
- Hibernate入门步骤及概念
1.什么是Hibernate Hibernate是一个开发源代码的对象关系映射框架,它对JDBC进行非常轻量级的对象封装,使得程序员可以随心所欲地使用对象编程思维来操纵数据库.Hibernate可以应 ...
- mybatis第二天——动态SQL与关联查询
大纲摘要: 1.输入映射和输出映射 a) 输入参数映射 b) 返回值映射 2.动态sql a) If b) Where c) Foreach d) Sql片段 3.关联查询 a) 一对一关联 b) 一 ...
随机推荐
- Codeforces Round #559(Div.1)
A 签到贪心题,特判了n=1或m=1的情况才发现2<=n,m<=1e5 #include<bits/stdc++.h> using namespace std; typedef ...
- 自定义字段从BOM带入生产用料清单
自定义字段从BOM带入生产用料清单
- CHINA SHOP 2019 | 奇点云“云+端”产品及解决方案赋能线下零售
第二十一届中国零售业博览会(CHINA SHOP) 在山东青岛世界博览城盛大开幕 作为CHINA SHOP的老朋友 奇点云自然不会缺席 China Shop逛展直击灵魂“双拷问”: No.1 今年CH ...
- Linux的iptables菜鸟初学
什么是iptables? iptables是linux下的命令行工具,操控的是linux的防火墙,这个防火墙叫netfilter.通俗的说应该是用户通过iptables把安全设定设置给netfilte ...
- 学习笔记#Android Studio 从安装到虚拟机启动
1.JDK下载与环境变量配置 (JDK是什么?JDK是 Java 语言的软件开发工具包,主要用于移动设备.嵌入式设备上的java应用程序.JDK是整个java开发的核心,它包含了JAVA的运行环境(J ...
- Invert Binary Tree(easy)
1.直接把递归把左右子树翻转即可 AC代码: /** * Definition for a binary tree node. * struct TreeNode { * int val; * Tre ...
- GenerateId类:生成唯一id、订单号
using System;using System.Security.Cryptography; namespace Infrastructure{ public class GenerateId { ...
- HDU-2544-最短路(各种最短路径算法)
迪杰斯特拉算法--O(n^2) #include"iostream" #include"cstring" #include"cstdio" ...
- Java IO: 其他字节流(上)
作者: Jakob Jenkov 译者: 李璟(jlee381344197@gmail.com) 本小节会简要概括Java IO中的PushbackInputStream,SequenceInputS ...
- H5页面如何引入vConsole
vConsole github地址vConsole 是腾讯开源的项目,这就简单的介绍一下使用 使用npm引入vconsole.min.js下载 vConsole 的最新版本.(不要直接下载 dev 分 ...