我正在使用 hsqldb 作为数据库。我创建了 LmexPostParamDao,它有一个方法 insertLmexPostParam(NameValuePostParamVO nameValuePostParamVO),它将在数据库中插入数据。为了测试这种方法,我使用 JUnit 测试在 hsqldb 中插入一些数据。
我的 JUnit 测试方法如下:
@Test
public void testInsertLmexPostParam(){
String lmexPostParamId = UUID.randomUUID().toString();
NameValuePostParamVO nameValuePostParamVO = new NameValuePostParamVO();
nameValuePostParamVO.setLmexPostParamId(lmexPostParamId);
nameValuePostParamVO.setParamName("adapter_id");
nameValuePostParamVO.setParamValue("7");
lmexPostParamDao.insertLmexPostParam(nameValuePostParamVO);
}
我的插入方法如下:
@Override
public void insertLmexPostParam(NameValuePostParamVO nameValuePostParamVO) {
String insertQuery = "insert into LMEX_POST_PARAM(lmex_post_param_id, param_name, param_value) values (?,?,?)";
String[] paramArr = { nameValuePostParamVO.getLmexPostParamId(), nameValuePostParamVO.getParamName(), nameValuePostParamVO.getParamValue()};
int update = adapterJdbcTemplate.update(insertQuery, paramArr);
System.out.println(update);
}
当我运行我的测试用例时,它返回我 1 作为输出,这是 adapterJdbcTemplate 的结果。这意味着数据插入成功。但是当我看到我的数据库时,它没有向我显示插入的那一行。当我用相同的值调试我的测试用例方法时,它给出了一个异常:数据完整性违规异常。在这个异常之后,当我看到我的数据库时,它在我的数据库中显示了该行。会有什么问题。我不。当我看到代码时,看起来一切都很好。帮我解决这个问题。
谢谢