Rust简单实现Mybatis自动创建表功能

本文介绍了如何在Rust中实现类似Mybatis的自动创建表功能,对比了diesel和rusqlite两个库的使用方法。通过diesel的数据库迁移和rusqlite的手动SQL操作,展示了如何根据数据结构自动生成建表语句,并在sqlite数据库中执行。最终,由于rusqlite的便捷性,作者选择了它来实现自动建表功能。
摘要由CSDN通过智能技术生成

一、介绍

    Rust没有像java那样完整的orm框架,对数据库进行操作比较麻烦。但也正是因为如此,才使得我对Mybatis的自动创建表有所了解,学java的时候只知道Mybatis很厉害,但是完全不会管原理是怎么样的。

二、实现

    目前我掌握了两种Rust库来实现这个功能:diesel  和  rusqlite ,diesel 可以使用mysql sqlite postgres 三种数据库,rusqlite只能使用sqlite。首先介绍diesel

diesel

   diesel官方提供了入门手册,内容也基本涵盖了对数据库的所有操作,跟着教程走一遍基本就知道原理是什么了。diesel对数据库操作的流程就是:

首先创建.env文件,在文件中指定DATABASE_URL,运行diesel setup命令,diesel_cli会根据这个url创造一个数据库。

数据库创建完成后,运行"diesel migration generate create_posts(这个名字自取)"命令,项目中会自动创建up.sql ,down.sql 文件,在up.sql中写入需要创建的表结构,down.sql 写入drop table ...

然后根据需要操作的数据结构,将该数据结构封装为三个struct,两个写在model.rs中,一个写在在schema.rs中。

models.rs

//这个是用于给表query的struct,这个需要将表的所有字段都写上
#[derive(Queryable)]
pub struct Post {
    pub id: i32,
    pub title: String,
    pub body: String,
    p
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值