spring - Spring MVC:我无法修改产品代码(主键)
问题描述
我正在创建一个简单的 CRUD 项目,并且在使用 Update 方法修改主键时遇到问题。
这是通过 Json 完成的;而对于其他领域我没有问题,我唯一的问题是更改主键。
这里的代码:
控制器:
@RequestMapping(value = "/updpro/{productcode}", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public boolean updateProduct(@RequestBody Product product, @PathVariable("productcode") String productcode){
product.setProductcode(productcode);
return productDao.updateProduct(product);
}
道:
public boolean updateProduct(Product product) {
boolean status=false;
try {
jdbcTemplate.update("update products set productcode=?, name=?, category=? where productcode=?", product.getProductcode(), product.getName(), product.getCategory(), product.getProductcode());
status=true;
} catch (Exception e) {
e.printStackTrace();
}
return status;
}
解决方案
你不应该使用 productCode 作为主键,主键不应该改变。
推荐阅读
- python - 尝试通过 Python 下载 youtube 字幕时,为什么会出现 Regex 错误?
- java - @JoinColumn 在 Hibernate 4 中给出错误“未找到逻辑名称 ID 的列”
- python - 用于在矩阵中移动的逻辑不起作用
- ios - UIImagePickerController 无法正确显示 GIF
- javascript - How to add an array of objects to chartjs?
- java - 如何检查固定线程池的利用率
- react-native - 如何修复“发现多个名为 'reload' 的方法结果、参数类型或属性不匹配...”
- ruby-on-rails - ActiveRecord 查询所有最后一天的数据和之前的每 100 条记录
- python - sklearn tree treats categorical variable as float during splits, how should I solve this?
- swift - 从带有属性的 URL 打开 swift 应用程序并加载特定的 VC