Java数据库操作(JDBC)

本文以Mysql为例

配置maven

1
2
3
4
5
6
7
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.32</version>
</dependency>
</dependencies>

将以上代码写入pom.xml内


编写登陆用.prooerties文件

1
2
3
4
driverName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/(base_name)?characterEncoding=UTF8&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true
username=
password=

加载驱动程序

1
2
3
4
5
try{
Class.forName(JDBC_DRIVER);
}catch Class.forName(JDBC_DRIVER);{
se.printStackTrace();
}

JDBC_DRIVER为驱动程序的地址,如MySQL8.0为”com.mysql.cj.jdbc.Driver”。


DriverManager类

驱动管理类
加载完驱动程序后,该驱动程序的实例会注册到DriverManager类中。
该类无需定义对象,直接调用即可。
可通过getConnection()方法连接到相应的数据库。

1
2
3
4
// 连接到数据库
// 返回Connection接口对象
// 输入的三个形参分别为数据库地址,用户名,密码
getConnection(DB_URL, USER, PASS);

数据库地址:jdbc:mysql://localhost:3306/[数据库名]characterEncoding=UTF8&autoReconnect=true&useSSL=false


Connection接口

链接数据库接口
可以理解为所连接的数据库的引用。

1
2
3
4
5
6
// 创建执行对象
// 返回Statement接口对象
createStatement();

// 关闭并释放内存
close();

Statement接口

执行接口,用于向数据库发送SQL语句。

1
2
3
4
5
6
7
// 执行给定的SQL语句
// 返回ResultSet接口对象
// 形参sql为SQL语句,以字符串的形式写入
executeQuery(sql);

// 关闭并释放内存
// close();

PreparedStatement接口

执行接口,用于动态执行SQL语句。

1
2
3
4
5
6
// 设置该行指定列名的值
// index为行数,从0开始
set<var>(int index, var value);

// 返回执行给定的SQL语句,返回改变的行数
executeQuery();

ResultSet接口

暂时储存从数据库查询到的结果集,可看作一个临时表。
具有指向当前数据行的指针,可通过next()下移。

1
2
3
4
5
6
7
8
9
10
11
// 获取该行指定列名的值,以var的形式返回
// 返回var类型(包括Object类对象)
get<var>(columnLabel);

// 指针移动
first(); // 第一行
last(); // 最后一行
next(); // 下一行
beforeFirst(); // 第一行第一列
afterLast(); // 最后一行最后一列
absolute(int index); // 指定行号

Properties类

读取.properties文件所存储的信息。

1
2
3
4
5
6
7
// 读取文件
// FileReader为文件读取类对象,可以用new FileReader(url)代替
load(FileReader);

// 读取文件中信息
// tital为文件前的头缀
getProperty(tital);