第四章 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 数据源配置