NutzCN Logo
问答 cri.where().andIn("id",2,3,5) 中,addIn方法有没有简单加入id列表的方法?
发布于 2511天前 作者 qq_8d463e02 2847 次浏览 复制 上一个帖子 下一个帖子
标签:

类似这样的
~~~~~
Criteria cri = Cnd.cri();

int[] a = [2, 3, 5, 6, 7, 8, 10, 100, 112];
cri.where().andIn("id", a);
~~~~

否则就要逐个增加我的代码是这样的:
~~~~~~~~~~
Criteria cri = Cnd.cri();
cri.where().andIn("id", tList.get(0).getId(), tList.get(1).getId(), tList.get(2).getId(),
tList.get(3).getId(), tList.get(4).getId(), tList.get(5).getId(), tList.get(6).getId(),
tList.get(7).getId(), tList.get(8).getId(), tList.get(9).getId(), tList.get(10).getId(),
tList.get(11).getId(), tList.get(12).getId(), tList.get(13).getId(), tList.get(14).getId(),
tList.get(15).getId(), tList.get(16).getId(), tList.get(17).getId(), tList.get(18).getId(),
tList.get(19).getId(), tList.get(20).getId(), tList.get(21).getId(), tList.get(22).getId(),
tList.get(23).getId(), tList.get(24).getId(), tList.get(25).getId(), tList.get(26).getId(),
tList.get(27).getId(), tList.get(28).getId(), tList.get(29).getId(), tList.get(30).getId(),
tList.get(31).getId(), tList.get(32).getId(), tList.get(33).getId(), tList.get(34).getId(),
tList.get(35).getId(), tList.get(36).getId(), tList.get(37).getId(), tList.get(38).getId(),
tList.get(39).getId(), tList.get(40).getId(), tList.get(41).getId(), tList.get(42).getId(),
tList.get(43).getId(), tList.get(44).getId(), tList.get(45).getId(), tList.get(46).getId(),
tList.get(47).getId(), tList.get(48).getId(), tList.get(49).getId(), tList.get(50).getId(),
tList.get(51).getId(), tList.get(52).getId(), tList.get(53).getId(), tList.get(54).getId(),
tList.get(55).getId(), tList.get(56).getId(), tList.get(57).getId(), tList.get(58).getId(),
tList.get(59).getId(), tList.get(60).getId(), tList.get(61).getId(), tList.get(62).getId(),
tList.get(63).getId(), tList.get(64).getId(), tList.get(65).getId(), tList.get(66).getId(),
tList.get(67).getId(), tList.get(68).getId(), tList.get(69).getId(), tList.get(70).getId(),
tList.get(71).getId(), tList.get(72).getId(), tList.get(73).getId(), tList.get(74).getId(),
tList.get(75).getId(), tList.get(76).getId(), tList.get(77).getId(), tList.get(78).getId(),
tList.get(79).getId(), tList.get(80).getId(), tList.get(81).getId(), tList.get(82).getId(),
tList.get(83).getId(), tList.get(84).getId(), tList.get(85).getId(), tList.get(86).getId(),
tList.get(87).getId(), tList.get(88).getId(), tList.get(89).getId(), tList.get(90).getId(),
tList.get(91).getId(), tList.get(92).getId(), tList.get(93).getId(), tList.get(94).getId(),
tList.get(95).getId(), tList.get(96).getId(), tList.get(97).getId(), tList.get(98).getId(),
tList.get(99).getId());
~~~~~~~~~~

7 回复

接口本身就支持数组的

   public SqlExpressionGroup andIn(String name, long... ids) {
        return and(inLong(name, ids));
    }

你是想找一个这样的办法吧

List<User> ---> int[]

我想根据 where id in (2, 3, 5, 6, 7, 8, 10, 100, 112) 条件执行批量更新。

1、批量查询出需要处理的数据
2、处理完成后,将处理成功的按照 where id in (2, 3, 5, 6, 7, 8, 10, 100, 112) 条件执行批量更新。

dao.update 批量更新啦

Criteria cri = Cnd.cri();
// a 可以是要给数组吗? 例如 int[] a = [2, 3, 5, 6, 7, 8, 10, 100, 112];
cri.where().andIn("id", a);

很明显,你可以自己试

添加回复
请先登陆
回到顶部