文章目录
-
- [1. JDBC](#1. JDBC)
- [2. 添加驱动包](#2. 添加驱动包)
- [3. 编程](#3. 编程)
-
- [3.1 创建数据源](#3.1 创建数据源)
- [3.2 与数据库建立连接](#3.2 与数据库建立连接)
- [3.3 构造SQL语句](#3.3 构造SQL语句)
- [3.4 执行SQL语句](#3.4 执行SQL语句)
- [3.5 释放资源,关闭连接](#3.5 释放资源,关闭连接)
1. JDBC
数据库编程必须掌握至少一门编程语言,一种数据库,会导入数据库驱动包。
操作和连接不同数据库都需要一种连接的软件组件,即数据库驱动包。数据库驱动包中包含了与特定数据库相对应的API,使得应用程序可以与数据库进行通信。而不同的数据库提供的API都不相同,从而造成很麻烦,这个时候JDBC就应运而生了,让Java连接数据库变得简单。
JDBC ,即Java Database Connectivity,Java数据库连接。它是一个标准的Java API,用于将Java程序与数据库连接。JDBC提供了一组用于编写可以访问关系型数据库(如MySQL、Oracle和Microsoft SQL Server)的应用程序的接口和类。我这里使用的Java连接操作MySQL。
2. 添加驱动包
我们可以在中央仓库中找到我们所需驱动包API。(当然也可以在Oracle,GitHub中下载)
Maven存储库
- 在搜索栏直接搜索MySQL
- 找到我们需要的MySQL,Java
- 点开,选择我们需要的版本(我这里选择5.1.49)
- 下载完成,一个 .jar压缩文件
- 将. jar文件导入项目中,创建一个目录,直接复制就行
- 右键这个包,点击Add as Library...,使idea知道导入了这个
点击ok,就完成了添加驱动包。
3. 编程
编程看着麻烦,其实就是固定模板,多使用几次便会掌握了。
3.1 创建数据源
java
//创建"数据源"
//向上转型,DataSource是JDBC提供的interface,MysqlDataSource是MySQL驱动包提供的interface
DataSource dataSource = new MysqlDataSource();
//setUrl,setUser,setPassword三个方法都是子类的方法,我们可以强转一下,也可以直接使用,但当代码十分复杂的时候,有可能造成代码耦合。
//方法里面的东西格式是固定的,IP是你电脑的IP,xiaoc是你要关联的数据库名字,替换成你要操作的数据库名字。
((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/xiaoc?characterEncoding=utf8&useSSI=false");
//这一步是提供用户名,一般都是root
((MysqlDataSource) dataSource).setUser("root");
//提供你的密码
((MysqlDataSource) dataSource).setPassword("131452");
3.2 与数据库建立连接
java
//和数据库建立连接
//一个Java程序,用于来连接数据库服务器
Connection connection = dataSource.getConnection(
注意:
选择Connection时,一定要选择java.sql,上面那个时不可以的
3.3 构造SQL语句
java
// 构造 SQL 语句
//本身SQL语句时String类型,但JDBC提供了Statement对象,让我们转换一下再发送。Statement直接发送语句不做任何检查,我们也可以使用PreparedStatement在客服端进行初步的检查,降低服务器的负担。
String sql = "insert into student values(111,小辰)";
PreparedStatement statement = connection.prepareStatement(sql);
3.4 执行SQL语句
java
// 执行 SQL 语句---返回值影响几行
int n = statement.executeUpdate();
System.out.println("n = " + n);
executeQuery,executeUpdate都是Statement中的方法,前者用于查询,后者用于增加,删除
,修改,返回类型是一个整型。
3.5 释放资源,关闭连接
java
//释放资源,关闭连接
//Java虽然有垃圾回收机制,释放内存,但计算机资源不止内存,所以我们还需要手动释放,这个时候我们需注意释放顺序,倒着来,先创建的后关闭。
statement.close();
connection.close();
这是插入的程序,其他的操作和这区别不大,大家可以自己探索。