1. 首页
  2. 主题
  3. Go项目协作

如果用Go实现类似MyBatis的框架,该怎样设计?

omigo · · 5615 次点击
当年使用 Java 编写 Web 应用的时候,用 MyBatis 查数据,那叫一个爽,轻量、灵活、自由,后来转到 Go,也用过 GORM,但总怀念 MyBatis,所以也想有这样的框架。 Github 上翻了几翻,发现也有一些,大概分为两类: A、依然通过 XML 定义查询,甚至有 完全兼容的 Java MyBatis 的,然后通过一个库支持查询和绑定; B、定义一个接口,在接口上写注释,通过 go:generate 生成代码 其他还有把 sql 语句写在 struct tags 里面的,都和上面两种大同小异。 想问一下: 1. Go 是否需要一个类似 MyBatis 的框架? 2. 如果需要,该设计成什么样呢,类A还是类B? 3. 是否有人愿意协作开发?
```java @Query("select h.city as city, h.name as name, avg(r.rating) as averageRating " - "from Hotel h left outer join h.reviews r where h.city = ?1 group by h") Page findByCity(City city, Pageable pageable); ``` JPA 这种方式已经和 MyBatis 几乎完全一样了,原生SQL 而且支持自动绑定。
#8
更多评论
我自己写query builder, 各种开源的query builder也很多 go没那么依赖sql或者类似的数据库。 如果java更适合你的业务,还是用java比较好。
#1
mybatis的优势是什么?用java开发的时候,一直在用jpa或者原生sql。现在转go还是一样的套路
#2

用户登录

没有账号?注册

今日阅读排行

    加载中

一周阅读排行

    加载中