Java基础-数据库操作
数据库操作是程序开发过程中的基本操作。本文以最常见的两种数据库:SQlite和Mysql为例,解释使用java完成数数据库的读操作。
数据准备:使用Docker启动Mysql容器,DBeaver连接数据库,创建数据库并准备测试数据。

1、Mysql操作
使用IDEA 创建一个普通的Java项目,结构如下:

一般而言,在实际开发中不会将数据库配置信息直接放在代码中,这样难以维护。通常的做发是将数据库连接的配置信息放在一个配置文件中,然后通过读取配置文件来获取数据库连接的配置信息。
因此具体的步骤为:
- 在项目目录下创建一个后缀为.properties的文件;
- 将配置信息:数据库驱动名称、数据库连接的URL、用户名、密码等信息放在该配置文件中
#数据库驱动名称 db.driver=com.mysql.cj.jdbc.Driver # 数据库连接URL db.curl=jdbc:mysql://localhost:3306/Binary # 数据库用户名 db.username=root # 数据库密码 db.password=1234@qwer - 在代码中使用java.util.Properties类读取配置文件,连接数据库
- 完成数据读写操作
示例代码:
package org.blackwin;
import java.io.FileInputStream;
import java.io.IOException;
import java.sql.*;
import java.util.Properties;
public class Main {
public static void main(String[] args) throws IOException, SQLException, ClassNotFoundException {
//get config of mysql
Properties properties = new Properties();
properties.load(new FileInputStream("sql.properties"));
String dbDriver = properties.getProperty("db.driver");
String url = properties.getProperty("db.curl");
String user = properties.getProperty("db.username");
String password = properties.getProperty("db.password");
System.out.println(dbDriver);
System.out.println(url);
System.out.println(user);
System.out.println(password);
//connect to mysql
Class.forName(dbDriver);
Connection conn = DriverManager.getConnection(url,user,password);
//read data from mysql
//sql语句中不带参数
// String sql = "select * from binary_modules";
// PreparedStatement stmt = conn.prepareStatement(sql);
// ResultSet rs = stmt.executeQuery(sql);
//
// while (rs.next()){
// String license = rs.getString("license");
// String vendor = rs.getString("vendor");
// String product = rs.getString("product");
// System.out.println(license+" "+vendor+" " + product);
// }
//sql语句中带参数
String sql = "select * from binary_modules where `vendor` = ? and `version`= ? ";
PreparedStatement stmt = conn.prepareStatement(sql);
stmt.setString(1, "openssl");
stmt.setString(2,"OpenSSL 1.1.1u");
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()){
String des = rs.getString("describe");
String language = rs.getString("language");
System.out.println(des+" "+language);
}
System.out.println("connect to mysql succeed");
}
}
2、Sqlite操作
同理,连接SQLite需要Sqlite的驱动程序,这里使用另外一种方式。在Java项目的pom.xml文件中添加驱动的依赖,让IDEA自己下载驱动。
<dependencies>
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>3.21.0.1</version>
</dependency>
IDEA 自动下载的Sqlite的驱动程序:

连接Sqlite的代码示例:
Connection conn = null;
try{
String url = "jdbc:sqlite:binary.db";
Class.forName("org.sqlite.JDBC"); //注意⚠️这里使用sqlite的驱动程序名称。
conn = DriverManager.getConnection(url);
System.out.println("connect sqlite db success");
} catch (ClassNotFoundException | SQLException e) {
throw new RuntimeException(e);
}

浙公网安备 33010602011771号