akita-0.1.1 has been yanked.
Akita

Akita is a mini framework for MySQL.
You may be looking for:
Akita in action
[dependencies]
akita = { version = "1.0", features = ["derive"] }
use serde::{Serialize, Deserialize};
#[derive(Table, Clone)]
#[table(name = "t_system_user")]
pub struct User {
#[id(name="id")]
pub pk: i64,
pub id: String,
pub name: String,
pub headline: String,
pub avatar_url: String,
pub gender: i32,
pub is_org: bool,
#[column(name="token")]
pub url_token: String,
pub user_type: String,
}
fn main() {
let opts = Opts::from_url("mysql://root:127.0.0.1:3306/test").expect("database url is empty.");
let pool = Pool::builder().max_size(4).build(MysqlConnectionManager::new(OptsBuilder::from_opts(opts))).unwrap();
let mut conn = pool.get().unwrap();
let mut wrapper = UpdateWrapper::new()
.like(true, "username", "ffff");
.eq(true, "username", 12);
.eq(true, "username", "3333");
.in_(true, "username", vec![1,44,3]);
.not_between(true, "username", 2, 8);
.set(true, "username", 4);
let user = User{
id: 2,
username: "username".to_string(),
mobile: "mobile".to_string(),
password: "password".to_string()
};
let conn = ConnMut::Pooled(&mut conn);
conn.start_transaction(TxOpts::default()).map(|mut transaction| {
match user.update( & mut wrapper, conn) {
Ok(res) => {}
Err(err) => {
println!("error : {:?}", err);
}
}
});
match user.update_by_id(conn) {
Ok(res) => {}
Err(err) => {
println!("error : {:?}", err);
}
}
match user.delete_by_id(conn) {
Ok(res) => {}
Err(err) => {
println!("error : {:?}", err);
}
}
match user.delete:: < UpdateWrapper > ( & mut wrapper, conn) {
Ok(res) => {}
Err(err) => {
println!("error : {:?}", err);
}
}
match user.insert(conn) {
Ok(res) => {}
Err(err) => {
println!("error : {:?}", err);
}
}
match user.find_by_id(conn) {
Ok(res) => {}
Err(err) => {
println!("error : {:?}", err);
}
}
match user.find_one::<UpdateWrapper>(&mut wrapper, conn) {
Ok(res) => {}
Err(err) => {
println!("error : {:?}", err);
}
}
match user.page::<UpdateWrapper>(1, 10,&mut wrapper, conn) {
Ok(res) => {}
Err(err) => {
println!("error : {:?}", err);
}
}
}
Developing
To setup the development envrionment run cargo run.
Contributers
MrPan <1049058427@qq.com>
Getting help
Akita is a personal project. At the beginning, I just like Akita dog because of my hobbies.
I hope this project will grow more and more lovely. Many practical database functions will
be added in the future. I hope you can actively help this project grow and put forward suggestions.
I believe the future will be better and better.
License