2个不稳定版本

0.1.0 2023年8月28日
0.0.0 2023年8月21日

#2126 in 数据库接口

MIT 协议

49KB
1K SLoC

jdbc-rs

中文 | 英语

Rust对Java Jdbc的绑定。

如今,许多数据库没有官方对Rust的支持,因此许多数据库无法使用Rust连接。然而,大多数数据库官方提供了Java版本的JDBC驱动程序,这些驱动程序非常稳定。

使用此库,您可以使用Java的JDBC连接到任何类型的数据库。

Rust没有官方的数据库驱动抽象,最广泛使用的非官方crate是Sqlx。此库的最终目的是提供Sqlx的实现,以暂时支持Sqlx不支持的数据库。

英文文档使用Google翻译.

入门

介绍Rust依赖

Cargo.toml

[dependencies]
jdbc = "0.1.0"

下载Java依赖

1、从网络下载jar文件。

您可以从MVN仓库或其他方式下载jar文件,并将其放在项目的libs目录中。

2、使用Maven

在项目根目录中创建一个新的pom.xml文件,您可以从项目根目录复制此文件。

执行mvn命令将依赖项复制到目标目录。或者从本项目复制build.rs,请自行修改目标目录。

mvn dependency:copy-dependencies -DoutputDirectory=./libs

示例

    let datasource = jdbc::Builder::new()
        .jdbc_url("jdbc:sqlite::memory:")
        .build()
        .expect("Failed to initialize data source.");

    let conn = datasource.get_connection()?;

    let statement = conn
        .prepare_statement("select username,age from user where id=?")?
        .set_int(1, 1000)?;

    let result = statement.execute_query()?;

    while result.next()? {
        let username = result.get_string(1)?;
        let age = result.get_int(1)?;
        println!("user:{:?} age:{:?}", username, age);
    }

支持类型

  • char
  • byte
  • short
  • int
  • long
  • float
  • double
  • boolean
  • String
  • Date
  • Object
  • Blob
  • Clob
  • byte[]
  • BigDecimal
  • AsciiStream
  • BinaryStream
  • CharacterStream

依赖

~2–14MB
~121K SLoC