请教 Java 里面的一个数据操作框架的事儿

2022-04-20 10:29:10 +08:00
 xiaoyanbot
这是 PHP 的一个 ORM 框架的使用方式,就是准备了一个 HashMap ,然后,使用 insert 方式插入到了 user 数据表里
~~~
$data = ['foo' => 'bar', 'bar' => 'foo'];
Db::name('user')->insert($data);
~~~
如果不定义 DTO 、Mapper 等方式,

请教 Java 里面,对应的使用什么框架,可以做类似的操作?
1031 次点击
所在节点    问与答
7 条回复
hidemyself
2022-04-20 11:52:03 +08:00
JdbcTemplate SimpleJdbcInsert 就可以了
Leviathann
2022-04-20 11:52:07 +08:00
可以看一下 jooq
https://www.jooq.org/doc/latest/manual/getting-started/use-cases/jooq-for-crud/
纯 map 直接转对象几乎不可能,java 是名义类型语言,必须显式声明类型,也就是 new ,要么自己 new 要么工厂方法里 new
反射也许可以做,但完全违背社区习惯
cslive
2022-04-20 13:42:55 +08:00
xiaoyanbot
2022-04-20 15:25:58 +08:00
@hidemyself 赞! 感谢
xiaoyanbot
2022-04-20 15:30:15 +08:00
@hidemyself

感谢指点 SimpleJdbcInsert 这个, 更新操作的话,类似

Db::name('user')->update(['id' => 1, 'name' => 'zhangsan']);

类似这种更新数据的, 有什么简便的操作技术吗?
LLaMA2
2022-04-20 18:24:37 +08:00
JPA
0. Entity
```
@Build
@Entity
@Data
class User {
Long id;
String name;
Integer age;
}
```

1. DAO
```
UserRepository extends JpaRepository<User, Long>{}
```

2.Service
```
class UserService {
private final UserRepository userRepo;

create(UserDto: dto) {
User user = User.Builder().name(dto.name).age(dto.age).build();
userRepo.save(user);
}
}
```
xiaoyanbot
2022-05-12 18:44:06 +08:00

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

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

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

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

© 2021 V2EX