数据库相关概念
数据库
- 储存数据的仓库,数据是有组织的进行存储
- 英文:DataBase,简称DB
数据库管理系统
- 管理数据库的大型软件
- 英文:DataBase Management System,简称DBMS
SQL
- 英文:Structured Query Language,简称SQL,结构化查询语言
- 操作关系型数据库的编程语言
- 定义操作所有关系型数据库的统一标准
关系型数据库
关系型数据库是建立在关系模型基础上的数据库,简单说,关系型数据库是由多张能互相连接的二维表组成的数据库
优点:
- 都是使用表结构,格式一直,易于维护
- 使用通用的SQL语言操作,使用方便,可用于复杂查询
- 数据存储在磁盘中,安全
JDBC
简介
JDBC概念:
- JDBC就是使用Java语言操作关系型数据库的一套API
- 全称(Java DataBase Connectivty) Java 数据库连接
JDBC本质
- 官方(SUN公司)定义的一套操作所有关系型数据库的规则,即接口
- 各个数据库厂商去实现这套接口,提供数据库驱动jar包
- 我们可以使用这套接口(JDBC)编程,真正执行的代码时驱动jar包中的实现类
JDBC的好处
- 各数据库厂商使用相同的接口,Java代码不需要针对不同数据库分别开发
- 可随时替换底层数据库,访问数据库的Java代码基本不变
数据库连接池
数据库连接池简介
-
数据库连接池是一个容器,负责分配、管理数据库连接(Connection)
-
它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个
-
释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏
-
好处:
-
- 资源重用
- 提升系统响应速度
- 避免数据库连接遗漏
材料:
IDEA
MySQL服务器
需提前导入MySQL驱动包,Druid数据库连接池包
操作数据库的步骤
1.获取Connection对象
//1.创建Connection对象
Properties prop = new Properties();
prop.load(new FileInputStream("druid.properties"));
DataSource dataSource = DruidDataSourceFactory.createDataSource(prop);
Connection conn = dataSource.getConnection();
2.定义SQL
增
insert into 表名(列名1,列名2...) values (?,?...)
删
delete from 表名 where id = ?
改
update 表名 set 列名1 = ?, 列名2 = ?... where id = ?
查
select * from 表名
3.获取PreparedStatement对象
PreparedStatement pstmt = conn.prepareStatement(sql);
4.设置参数
/*
PreparedStatement对象:setXxx(参数1,参数2):给?赋值
Xxx:数据类型;如setInt(参数1,参数2)
参数:
参数1:?的位置编号,从1开始
参数2:?的值
*/
5.执行SQL
增删改
executeUpdate();
查
executeQuery();
6.处理结果
增删改
判断executeUpdate返回的int值是否大于1,如果大于1表示操作成功
查
处理ResultSet对象
boolean next() //1、将光标从当前位置向前移动一行2、判断当前行是否为有效行
/*
返回值:
true:有效值,当前行有数据
false:无效值,当前行无数据
*/
xxx getXxx(参数) //获取数据
/*
xxx:数据类型;如int getInt(参数);String getString(参数)
参数:
int:列的编号,从1开始
String:列的名称
*/
// 获取数据
while (rs.next()){
rs.getXxx();
}
7.释放资源
小结
以上就是操作数据库完成增删改查的所有步骤