其实就是最近在玩 Spring 新出的 JdbcClient ( JdbcTemplate 的封装版),感觉在 Java 有多行字符串后,在 Java 代码里写 SQL 完全不是什么问题,而且也不用使用难用的 XML 去定义 resultMap (直接在 Java 里定义 record 或者 class 然后用构造器就可以了)
public record User(Long id, String name, Integer sex) {
}
@GetMapping("/users/in")
public Iterable[U] listInIds(@RequestParam List[I] ids) {
return jdbcClient.sql("""
SELECT *
FROM `user`
WHERE `id` IN (:ids)
""")
.param("ids", ids)
.query(User.class)
.list();
}
但是在碰到动态条件的 where 语句的时候,在 Java 代码里手搓 SQL 看着也很让人头大……这时候 MyBatis 提供的 dynamic SQL 就很好用了
但真的不喜欢 XML……
MyBatis-Plus 也了解过,但说不上来为什么,总是感觉不太喜欢这个库……