NutzCN Logo
问答 请问有批量删除的方法吗,放list的那种
发布于 3007天前 作者 佐蓝 1823 次浏览 复制 上一个帖子 下一个帖子
标签:

像是dao.delete(list);list里面是pojo对象,这样的可以实现吗.

7 回复

何不先试试呢?

@wendal 报这个错误 不知道怎么解决 (发生错误,Don't know how to make fetch key com.nari.nwims.dataloader.itsm.pojo.rel.Relation)
我想根据一个表的 SRCRESOURCEID(源配置项资源ID) 和 DSTRESOURCEID(目标配置项资源ID) 进行批量删除,没有id name 和key的注解,
pojo有以下字段

@Column("RELATIONID")
    private String relationid;

    @Column("SRCID")
    private String source_ci_id;

    @Column("SRCSUBTYPECODE")
    private String source_ci_subtypecode;

    @Column("DSTID")
    private String target_ci_id;

    @Column("DSTSUBTYPECODE")
    private String target_ci_subtypecode;

    @Column("RELTYPE")
    private String rel_type;

    private String action;

    @Column("SRCRESOURCEID")
    private String srcresourceid;

    @Column("DSTRESOURCEID")
    private String dstresourceid;

没有主键就不能用dao.delete,只能用dao.clear按条件删除.

@wendal 如果把relationid设为主键用delete好像还是一条条删
dao.delete(Person.class,"Peter"); 这里的Peter可以换长长的数组或者list吗

@qq_83d99869 不能,起码现在的版本不能

来自炫酷的 NutzCN

@wendal 谢谢,那就一条条来吧

不对啊, list的时候是批量删除呢

    @Test
    public void test_delete_list() {
        UserService userService = ioc.get(UserService.class);
        String[] names = new String[]{R.UU32(), R.UU32(), R.UU32()};
        List<User> list = new ArrayList<>();
        for (String name : names) {
            User user = userService.add(name, R.UU32());
            list.add(user);
        }
        Dao dao = ioc.get(Dao.class);
        dao.delete(list);
    }

13:53:48.599 DEBUG (NutDaoExecutor.java:339) printSQL - DELETE FROM t_user WHERE id=?
    |     1 |
    |-------|
    | 60436 |
    | 60437 |
    | 60438 |
  For example:> "DELETE FROM t_user WHERE id=60436"

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