# jdbc-rs 中文 | [English](./README.md) Java Jdbc的Rust绑定库。 如今很多数据库并没有对Rust的官方支持,所以很多数据库不能使用Rust连接。但是绝大多数数据库官方都提供了Java版本的JDBC驱动,这些驱动非常稳定。 使用这个库,你可以使用Java的JDBC,从而连接任意类型数据库。 Rust并没有官方的数据库驱动抽象,目前使用量最大的非官方Crate是Sqlx。本库的最终目的是提供sqlx的实现,用以临时支持Sqlx未支持的数据库。 # Getting Started ### 引入Rust依赖 Cargo.toml ``` [dependencies] jdbc = "0.1.0" ``` ### 下载java依赖 1.从网络上下载jar文件 你可以从[MVN Repository](https://mvnrepository.com/)或其他途径下载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 - [x] short - [x] int - [x] long - [x] float - [x] double - [x] boolean - [x] String - [x] Date - [ ] Object - [ ] Blob - [ ] Clob - [ ] byte[] - [ ] BigDecimal - [ ] AsciiStream - [ ] BinaryStream - [ ] CharacterStream