Sprint Boot 一定要写 SQL 吗?

2022-04-02 10:16:35 +08:00
 coolair
看了本书,无论使用 XML 模式还是注解模式,都要自己写 SQL ,既然要写 SQL 那 ORM 的意义何在?

另外,你们一般使用哪种模式?
3915 次点击
所在节点    问与答
31 条回复
bootvue
2022-04-02 10:21:04 +08:00
mybatis & plus spring data 混合双打
lawler
2022-04-02 10:22:37 +08:00
JPA
oneisall8955
2022-04-02 10:25:12 +08:00
mybatis plus 单表查询不需要
aptupdate
2022-04-02 10:25:49 +08:00
啊? orm 的意义也不是为了解决写不写 sql 啊。。。
操作数据库就避免不了写 sql ,只是直接写在 xml 里或者类似于 mybatisplus 这种工具帮你转换的区别。
dengkj
2022-04-02 10:54:51 +08:00
MyBatis-Plus 好用吗
hidemyself
2022-04-02 11:00:00 +08:00
ORM 要解决的不是写不写 SQL 的问题。

有人喜欢 SQL 和代码分离,就 MyBatis ,XML 那一套了。
还有就 Hibernate/JPA 那一套了。
WebKit
2022-04-02 11:01:37 +08:00
看你理解的写 sql 是自己手写还是不出现 sql 代码。jpa 可以通过插件,基本不用手写
wudaye
2022-04-02 11:09:19 +08:00
刚学吗,JPA 没听过?
potatowish
2022-04-02 11:13:13 +08:00
简单项目 jpa ,复杂点用 mybatis 、mybatis plus
hay313955795
2022-04-02 11:25:06 +08:00
jooq 。一点 sql 都没有吧...
cheng6563
2022-04-02 11:28:52 +08:00
ORM 本来就凑合 M 下就行了。完全的 ORM 难用的要死。
coolair
2022-04-02 11:28:58 +08:00
@wudaye 刚学,哈哈。感觉为了查询个东西,竟然要写 entity 、mapper.xml 、mapper.java 三个东西,觉得维护困难。
sheeta
2022-04-02 11:35:27 +08:00
最好用的还是 laravel 的 orm
knightdf
2022-04-02 11:43:09 +08:00
@cheng6563 那可不一定,sqlalchemy 就挺好用的
zhaofy
2022-04-02 11:44:59 +08:00
@coolair #12 竟然要写 entity ?
coolair
2022-04-02 11:48:25 +08:00
@zhaofy 也叫 model ?像这样的:

package com.test.helloworld.model;

public class Student {
private Long id;
private String name;

public Student() {

}

public Student(String name, int sex, int age) {
this.name = name;
}

public Long getId() {
return id;
}

public void setId(Long id) {
this.id = id;
}

...
}


@knightdf 哈哈,我就是从 sqlalchemy 来的,一行 sql 都不用写啊。
xuyang2
2022-04-02 12:20:03 +08:00
jOOQ 了解一下。Typesafe SQL
EscYezi
2022-04-02 13:14:23 +08:00
mybatis X 插件+mybatis-plus ,复杂查询才在 xml 里写 sql
privatetan
2022-04-02 14:28:22 +08:00
针对于开发的便捷性来说,使用 ORM 框架减少 SQL 编写的是一个不错的选择;

但个人推荐还是多写写 SQL 比较好。
Bingchunmoli
2022-04-02 14:31:40 +08:00
@coolair 代码生成,然后增删改查用一个实体,然后前端 vo ,bo ,dto 的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/844480

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX