初级会员
  • 第 60041 位会员
  • omigo
  • Omigo
  • 2021-02-05 14:21:07
  • Offline
  • 19 75

最近发布的文章

    暂无

最近分享的资源

    暂无

最近发布的项目

    暂无

最近的评论

  • 有bug。 bodyBytes, _ := ioutil.ReadAll(req.Body) `req.Body.Close() // 必须关闭老的` req.Body = ioutil.NopCloser(bytes.NewBuffer(bodyBytes)) // use bodyBytes // pass to next middleware
  • ```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 而且支持自动绑定。
  • #4 @sanrentai 视图,我不知道其他公司有没有在用,貌似我们现在都不怎么用了。我说的复杂,也不是说极端复杂,要写存储过程那种,而是 join、count、group by 这种组合,稍微复杂一些的。
  • #1 @jarlyyn “go没那么依赖sql或者类似的数据库。 ” 但还是服务还是得有存储,SQL 是少不了的。 MyBatis 两个好处: 1. 支持完整的原生 SQL 语句。Builder 框架只是部分,而且 join 等操作不直观。如果非要说哪门语言最好应用最广泛,我投 SQL 语言。SQL 是真正的 第四代语言,而 Go 等程序设计语言是第三代,Query Builder 等框架号称面向对象查询,但实际使用的时候,还是通过人脑把 SQL 语句转成 Builder 操作,执行的时候又转成 SQL 语句,这个过程做了无用功,更重要的是增加了大脑的负担,尤其是复杂的 SQL 语句,如 join、count、group by 等,唯一好处就是少写了几行代码,得不偿失,别人看起来也费劲。所以还是原生 SQL 好,通用,简洁,易懂。 2. 自动绑定,大多框架都是支持的。
  • #2 @sanrentai MyBatis 就是动态生成原生SQL,支持复杂 SQL,可以做 SQL 优化。JPA 和 其他 ORM 框架,复杂 SQL 支持能力有限吧。