Spring JdbcTemplate删除语法
有人能指出我下面的SpringJDBC模板代码中的错误吗 单击“删除”时,记录不会被删除,并且不会显示任何错误Spring JdbcTemplate删除语法,spring,spring-jdbc,Spring,Spring Jdbc,有人能指出我下面的SpringJDBC模板代码中的错误吗 单击“删除”时,记录不会被删除,并且不会显示任何错误 public void delete(String id) { logger.debug("Deleting existing person"); // Prepare our SQL statement using Unnamed Parameters style String query = "delete from pers
public void delete(String id) {
logger.debug("Deleting existing person");
// Prepare our SQL statement using Unnamed Parameters style
String query = "delete from person where id = ?";
// Assign values to parameters
Object[] person = new Object[] {id};
// Delete
jdbcTemplate.update(query, person);
}
这里有一个例子。注意: 整数id
@覆盖
公共字符串deleteXXById(字符串id){
String sql=“从id=:id的地点删除?”;
Map paramMap=新的HashMap();
paramMap.put(“id”,id);
Object[]args=新对象[]{id};
int update=jdbcTemplate.update(sql,paramMap);
字符串updatecount=“失败”;
如果(更新==0){
updatecount=“失败”;
}否则{
updatecount=“成功”;
}
返回updatecount;
}
您是否提交交易?我不明白您的意思。如果可能,请给我举个例子。上述代码正确吗?是的,您的代码看起来正确。可能的情况是:没有id为“id”的人/您连接到了错误的数据库/您在一个单元测试框架上运行此操作,该框架在完成时回滚事务可能是您缺少架构名称。例如:从schemaName.tableName中删除,其中id=?
public boolean delete(Integer id){
String sql = "DELETE FROM organization WHERE id = ?";
Object[] args = new Object[] {id};
return jdbcTemplate.update(sql, args) == 1;
}
@Override
public String deleteXXById(String id) {
String sql = "DELETE FROM VENUE WHERE id =:id?";
Map<String, Object> paramMap = new HashMap<String, Object>();
paramMap.put("id", id);
Object[] args = new Object[] {id};
int update = jdbcTemplate.update(sql, paramMap);
String updatecount = "Failed";
if (update == 0) {
updatecount = "Failed";
} else {
updatecount = "SUCCESS";
}
return updatecount;
}