第四章 Java JDBC驱动
4.1 环境配置
SXDB提供标准JDBC驱动,可直接用于Spring Boot、MyBatis、Hibernate等主流Java框架。JDBC URL格式为:jdbc:sxdb://host:port/database?user=xxx&password=xxx。
Maven配置
4.2 核心类说明
| 类名 | 说明 | 对应标准接口 |
| SxdbDriver | 驱动类,自动注册 | java.sql.Driver |
| SxdbConnection | 连接对象 | java.sql.Connection |
| SxdbStatement | SQL执行器 | java.sql.Statement |
| SxdbPreparedStatement | 预编译执行器 | java.sql.PreparedStatement |
| SxdbResultSet | 查询结果集 | java.sql.ResultSet |
| SxdbDatabaseMetaData | 数据库元数据 | java.sql.DatabaseMetaData |
4.3 基本使用示例
import java.sql.*;
public class SxdbDemo {
public static void main(String[] args) throws Exception {
// 加载驱动
Class.forName("com.sxdb.jdbc.SxdbDriver");
// 建立连接
String url = "jdbc:sxdb://127.0.0.1:31111/myapp?user=admin&password=admin123";
try (Connection conn = DriverManager.getConnection(url)) {
// 创建表
try (Statement stmt = conn.createStatement()) {
stmt.execute("CREATE TABLE IF NOT EXISTS products(" +
"id INTEGER PRIMARY KEY AUTOINCREMENT, " +
"name TEXT NOT NULL, price REAL, stock INTEGER)");
}
// 插入数据 (PreparedStatement)
String insertSql = "INSERT INTO products(name,price,stock) VALUES(?,?,?)";
try (PreparedStatement ps = conn.prepareStatement(insertSql)) {
| ps.setString(1, "笔记本电脑"); | ps.setDouble(2, 5999.0); | ps.setInt(3, 100); |
| ps.executeUpdate(); | } | // 查询数据 |
try (Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM products")) {
while (rs.next()) {
System.out.printf("%d | %s | %.2f | %d%n",
rs.getInt("id"), rs.getString("name"),
rs.getDouble("price"), rs.getInt("stock"));
}
}
// 切换数据库
conn.setCatalog("other_db");
}
}
}
代码4-1 Java JDBC 完整示例
4.4 Spring Boot集成
在Spring Boot项目中,只需配置application.yml即可将SXDB作为数据源使用,兼宽MyBatis、JPA等持久层框架。
application.yml 配置
spring:
datasource:
driver-class-name: com.sxdb.jdbc.SxdbDriver
| url: jdbc:sxdb://127.0.0.1:31111/myapp | username: admin |
| password: admin123 | 配置4-2 Spring Boot 数据源配置 |