SpringBoot整合JDBC資料庫操作第五彈-批量添加/刪除/修改數據

articles) { String sql = "UPDATE article SET title = ?, description = ? WHERE id = ?"; // spring jdbc 幫我們生成了批量插入的 sql 語句, 我們也可以直接使用批量的插入 sql 語句進行批量數據插入 return jdbcTemplate.batchUpdate(sql, new BatchPreparedStatementSetter() { @Override public void setValues(PreparedStatement preparedStatement, int i) throws SQLException { Article article = articles.get(i); preparedStatement.setString(1, article.getTitle()); preparedStatement.setString(2, article.getDescription()); preparedStatement.setInt(3, article.getId()); } @Override public int getBatchSize() { return articles.size(); } }).length;}/** * 批量刪除數據 */public int batchDeleteArticle(final List ids) { String sql = "DELETE FROM article WHERE id = ?"; // spring jdbc 幫我們生成了批量插入的 sql 語句, 我們也可以直接使用批量的插入 sql 語句進行批量數據插入 return jdbcTemplate.batchUpdate(sql, new BatchPreparedStatementSetter() { @Override public void setValues(PreparedStatement preparedStatement, int i) throws SQLException { preparedStatement.setInt(1, ids.get(i)); } @Override public int getBatchSize() { return ids.size(); } }).length;}1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162

  • 修改ArticleService類文件, 增加批量添加/刪除/修改方法
int batchCreateArticle(final List
articles);int batchModfiyArticle(final List
articles);int batchDeleteArticle(final List ids);12345
  • 修改ArticleServiceImpl類文件, 增加批量添加/刪除/修改方法
@Overridepublic int batchCreateArticle(List
articles) { return articleRepository.batchCreateArticle(articles);}@Overridepublic int batchModfiyArticle(List
articles) { return articleRepository.batchModfiyArticle(articles);}@Overridepublic int batchDeleteArticle(List ids) { return articleRepository.batchDeleteArticle(ids);}1234567891011121314
  • 修改API接口層ArticleController, 增加批量添加/刪除/修改對外接口
@RequestMapping(value = "batch/create", method = RequestMethod.POST)Integer batchCreate(@RequestBody List
articles) { return articleService.batchCreateArticle(articles);}@RequestMapping(value = "batch/modify", method = RequestMethod.PUT)Integer batchModfiy(@RequestBody List
articles) { return articleService.batchModfiyArticle(articles);}@RequestMapping(value = "batch/delete", method = RequestMethod.DELETE)Integer batchDelete(@RequestBody List ids) { return articleService.batchDeleteArticle(ids);}1234567891011121314
  • 使用RestAPI測試工具測試api接口可用性


分享到:


相關文章: