4个版本
使用旧的Rust 2015
0.1.3 | 2018年9月29日 |
---|---|
0.1.2 | 2018年9月29日 |
0.1.1 | 2018年9月22日 |
0.1.0 | 2018年9月22日 |
#3 在 #queryable
46KB
1K SLoC
dengine
基于 MYSQL 和 SQLITE API 的 RUST API。
使用的库
- Mysql => https://crates.io/crates/mysql
- Sqlite => https://crates.io/crates/deslite
使用方法
// extern crate dengine;
// #[macro_use]
// extern crate dengine_derive;
use dengine::Connectionable;
use dengine::Queryable;
use dengine::Row;
type DbCon = dengine::sqlite::Connection;
#[derive(Debug, Queryable)]
struct User {
id: u64,
name: String,
}
let con = DbCon::new(":memory:").unwrap();
let sql = "CREATE TABLE user (id INTEGER NOT NULL, name TEXT NOT NULL)";
con.execute(sql, ()).unwrap();
let sql = "INSERT INTO user (id, name) VALUES (?, ?), (?, ?)";
con.execute(sql, (1, "name1", 2, "name2")).unwrap();
let sql = "SELECT * from user";
let res: Vec<User> = con.array(sql, (), false).unwrap();
println!("{:?}", res);
//[User { id: 1, name: "name1" }, User { id: 2, name: "name2" }]
重要:请使用 https://github.com/diesel-rs/diesel 而不是此库
创建此库仅仅是因为我太笨,无法理解diesel的文档。
依赖项
~37MB
~725K SLoC