JDBC: Java Database Connectivity
一、数据库基础知识
二、MySQL入门
三、JDBC编程
一、数据库基础知识
1、关系数据模型:
术语
- 关系:一张二维表
- 元祖:表中的一行
- 属性:表中的一列
- 属性域:属性的取值范围
- 主键:唯一的表示表中的元祖
- 外键:一个关系中包含另一个关系的主键
范式:
范式:数据库设计需要满足的规范.
- 1NF:对属性的原子性约束,不可再分解。不能有嵌套表。
- 2NF: 对记录的唯一性约束,要求记录有唯一标示,实体必须是唯一的。所有的主键字段都要依赖与非主键字段。
- 3NF:对字段冗余性的约束,要求任何字段都不能派生于其他字段。也就是说非主键字段直接不能相互依赖。
二、MySQL入门
1、MySQL数据类型简介
整数
- TINYINT:1个字节,8位
- SMAILLINT:2个字节,16位
- MEDIUMINT:3个字节,24位
- INT:4个字节,32位
- BIGINT:8个字节,64位
实数(带有小数部分的数字)
- FLOAT:4个字节,32位
- DOUBLE:8个字节,64位
- DECIMAL:存储精确的小数,指定小数点前后的位数。eg.DECIMAL(20,2),表示小数点后存储两个数字,小数点前存储18个数字。
字符串
- VARCHAR:用于保存可变长度的字符串。
- CHAR:固定长度的字符串。0~255任意值。
- TEXT、BLOB:存储较长的字符串。
日期
- DATETIME:保存大范围的值,从1001~9999年,精度为秒。8个字节。
- TIMESTAMP:时间戳类型,1970.1.1~2038年,即格林威治时间到现在所经历的秒数。4个字节。
数据类型选择准则
- 最小原则
- 简单原则
- 避免索引列上的NULL
三、JDBC编程
1、JDBC简介
JDBC概述
- ODBC(Open Database Connectivity)
- JDBC(Java Database Connectivity)
JDBC的组成
- JDBC API:面向开发人员
- JDBC Driver API:面向底层驱动开发商
JDBC Driver API
主要编程接口:
- DriverManager:装载驱动程序,并为创建数据库连接提供支持
- Connection:连接某一指定的数据库
- Statement:执行SQL语句,获取查询结果的方法。
JDBC驱动程序主要有四种类型:
- JDBC-ODBC bridge
- 部分Java技术的本地API驱动程序
- 全部基于Java技术的本地API驱动程序
- 全部基于Java技术的本地协议驱动程序
2、JDBC编程之数据准备
建两张表:
|
|
注:1234id:没有业务含义的逻辑主键auto_increment:自增长default '' :默认值为空字符串engine = InnoDB:设置MySQL的存储引擎,InnoDB是存储引擎的一种,支持事物。
插入数据:
|
|
3、JDBC编程之数据查询
安装驱动,下载mysql-connector-java。
将mysql-connector-java-5.1.42-bin.jar包拷到WEB-INF目录下。
JDBC编程流程
- 加载驱动
- 打开连接
- 执行查询
- 处理结果
- 清理环境
实现程序:
|
|
4、JDBC编程之数据更新
数据库连接方法
|
|
插入数据方法
|
|
更新方法
|
|
删除记录的方法
|
|
5、JDBC编程之事务处理
事务概述
- 事务:数据库维护数据一致性的单位,在每个事务结束时都能保持事务的一致性。
事务的四个基本特征
原子性:事务中的操作都被视为一个逻辑单元。
这个事务中的逻辑单元要么全部成功,要么全部失败。事务中的元素是一个整体,是不可分割的。一致性:事务开始之前和事务结束以后,数据库都处于一致性状态。数据库的完整性约束没有被破坏。
隔离性:对数据库的修改的多个事务是互相隔离的。说明事务必须是独立的。
持久性:事务完成之后,它对数据的影响是永久的,
事物的语句
- 开始事物:BEGIN TRANSACTION
- 提交事物:COMMIT TRANSACTION
- 回滚事物: ROLLBACK TRANSACTION
编程实现
|
|