rbatis codegen rust

介绍

rbatis是一个类似于Mybatis的orm框架,其价值不在于作为一个orm框架使用而是其原理:1.编译xml 2.生成rust代码 3.执行rust代码,rbatis支持三种方式的sql:1.html sql,sql在一个xml中 2.pysql,sql通过注解 3.raw sql,原始的sql。下面以html sql为代表进行记录。

代码

https://gitcode.net/chenhuaijin123/rbatis

html sql流程

1.编译html----html_parser库

测试在tests/parse_html.rs中,以最简单的test_parse_line_feed来进行分析quote库的使用

2.生成tokenstream--quote库

生成#py_sql宏生成rust代码核心为  impl_macro_py_sql

生成代码(tokenstream)的核心实现在codegen/parser_html.rs的parse方法中

3.执行生成的sql,src/executor.rs中

4. 类型转换,未用反射,通过编译期来解决问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

doodoocoder

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值