findByIds方法具体应该如何使用?

image.png

这个方法追源码看到的例子是两个参数,但是使用时只能有一个id的参数是这样吗?

还有一个问题:

    image.png

重新看文档后以为是因为我使用了User().dao()造成的,但是使用Db.findById()方法获得的也是数据库中那么对应的数据:张三3

评论区

杜福忠

2019-06-27 17:00

Find model by composite id values. >> 通过多主键进行查找
findByIds(Object... idValues) >> 配套 arp.addMapping("article", "article_id", Article.class);
https://www.jfinal.com/doc/5-2
比如上面的配置, 那么 使用时 findByIds(1, 2); 可以通过看它拼接成的SQL 就知道咋回事了.

findByIdLoadColumns的用法:
// 查询id值为25的user, 且仅仅取name与age两个字段的值
User user = User.dao.findByIdLoadColumns(25, "name, age");
https://www.jfinal.com/doc/5-3

白世伟

2019-06-27 17:07

@杜福忠 第一个问题,因为我数据库中的主键名称就是id,所以配置addMapping(‘user’,User.class);但是使用findByIds(1,2)是失败的;

第二个问题,源码中的注解说是获取到的是数据类型,但是我获取到的是具体的数据值。。。。

杜福忠

2019-06-27 17:18

@白世伟 https://www.jfinal.com/doc/5-3
// 查询id值为25的User
User.dao.findById(25)

没有多个主键, 就不要加 s 就好了

白世伟

2019-06-27 17:21

@杜福忠 findByIds这个我弄懂了 谢谢

热门反馈

扫码入社