当前位置: 首页 > news >正文

Rust使用rbatis

toml

rbs = { version = "4.6"}
rbatis = { version = "4.6"}
#drivers
rbdc-mysql = { version = "4.6" }
# 其他依赖
serde = { version = "1", features = ["derive"] }
serde_json = "1.0"
tokio = { version = "1", features = ["full"] }
log = "0.4"
fast_log = { version = "1.6", features = ["lz4", "zip", "gzip"] }

rs

use rbatis::rbdc::datetime::DateTime;
use rbs::value;
use rbatis::RBatis;
use rbdc_mysql::driver::MysqlDriver;
use serde::{Deserialize, Serialize};
use rbatis::crud;#[derive(Clone, Debug, Serialize, Deserialize)]
pub struct BizActivity {pub id: Option<String>,pub name: Option<String>,pub status: Option<i32>,pub create_time: Option<DateTime>,pub additional_field: Option<String>,
}// 自动生成 CRUD 方法
crud!(BizActivity{},"BizActivity");#[tokio::main]
async fn main() {// 配置日志fast_log::init(fast_log::Config::new().console()).expect("rbatis初始化失败");// 初始化 rbatislet rb = RBatis::new();// 连接数据库rb.init(MysqlDriver{}, "mysql://admin:b7371d927aec647d@172.17.0.185:3306/test").unwrap();// 创建数据let activity = BizActivity {id: Some("1".into()),name: Some("测试活动".into()),status: Some(1),create_time: Some(DateTime::now()),additional_field: Some("额外信息".into()),};// 插入数据let data = BizActivity::insert(&rb, &activity).await;// 批量插入let data = BizActivity::insert_batch(&rb, &vec![BizActivity {id: Some("2".into()),name: Some("活动 2".into()),status: Some(1),create_time: Some(DateTime::now()),additional_field: Some("信息 2".into()),}, BizActivity {id: Some("3".into()),name: Some("活动 3".into()),status: Some(1),create_time: Some(DateTime::now()),additional_field: Some("信息 3".into()),},], 10).await;// 根据 map 条件更新let data = BizActivity::update_by_map(&rb, &activity, value!{ "id": "1" }).await;// 根据 map 条件查询let data = BizActivity::select_by_map(&rb, value!{"id":"2","name":"活动 2"}).await;// LIKE 查询let data = BizActivity::select_by_map(&rb, value!{"name like ":"%活动%"}).await;// 大于查询let data = BizActivity::select_by_map(&rb, value!{"id > ":"2"}).await;// IN 查询let data = BizActivity::select_by_map(&rb, value!{"id": &["1", "2", "3"]}).await;// 根据 map 条件删除let data = BizActivity::delete_by_map(&rb, value!{"id": &["1", "2", "3"]}).await;
}
http://www.wxhsa.cn/company.asp?id=5751

相关文章:

  • 2025ICPC网络赛第一场(A,B,C,D,G,I,M)
  • Google Maps
  • 【TES600G】基于JFM7K325T FPGA+FT-M6678 DSP的全国产化信号处理平台
  • KMS激活Windows系统(win10)
  • 基于python3的http文件服务器
  • 大阪府
  • sql server2008大批量插入数据
  • 【Office 2010】经典办公套件Office 2010——保姆级详细图文下载安装教程 - 详解
  • Eth-Trunk实验
  • HCIP—Eth-Trunk
  • 一个还不错的,简单的,前端vue2后台框架
  • P4099 [HEOI2013] SAO
  • Linux chronyd 时间同步服务器,命令
  • 2025暑假集训总结lh
  • ET框架的 阻止 ddos 设计,软路由
  • Serena 最佳实践方案
  • C++ 零散记录:条件编译与 if constexpr 的区别
  • ubuntu 22.04安装mysql8.0.41(glibc2.17)
  • cURL调试功能磁盘空间耗尽导致拒绝服务漏洞分析
  • mysql常用函数,数据处理效率提升实战指南
  • Tita 一体化管理:赋能互联网企业产品迭代全流程
  • 【2025-09-15】动起来了
  • 二叉树的层次遍历
  • Mysql索引失效场景
  • 农田水利综合信息管理平台
  • 写了一个BBP算法的实现库,欢迎讨论
  • 统计建模库 statsmodels(时序单变量数据)
  • 【云栖大会】AI原生、AI可观测、AI Serverless、AI中间件,4场论坛20+议题公布!
  • docker-oracle安装
  • static注意事项