gpt4 book ai didi

junit - DbUnit - 基于非主键字段值删除行

转载 作者:行者123 更新时间:2023-12-01 02:44:24 30 4
gpt4 key购买 nike

看起来 DbUnit 正在使用 JDBC 元数据来确定主键字段并使用这些字段构造删除语句:

delete from tbl_name where pk_field1=? and pk_field2=? and pk_field3=?

有没有办法根据组合键的一个字段值或非主键字段的值删除行(例如,删除 created_date = xyz 的行)

最佳答案

您可以创建一个 QueryDataSet 并将数据库操作设置为 DELETE。
例如,如果您要扩展 DB TestCase:

protected IDataSet getDataSet() {
QueryDataSet queryDataSet = null;
String query = "SELECT * FROM tbl_name pk_field1=? and pk_field2=?";
try {
queryDataSet = new QueryDataSet(super.getConnection());
queryDataSet.addTable("tbl_name",query);
} catch (Exception e) {
e.printStackTrace();
}
return queryDataSet;
}

protected DatabaseOperation getSetUpOperation() throws Exception {
return DatabaseOperation.DELETE;
}

关于junit - DbUnit - 基于非主键字段值删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7290590/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com