日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JDBC批量操作批量增加批量修改

發布時間:2024/9/30 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JDBC批量操作批量增加批量修改 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

批量增加

利用JdbcTemplate的batchUpdate方法
有兩個參數,第一個是Sql語句,第二個是list集合
代碼:
1.先在service中創建方法(已經有了增刪改查方法,現在加上)

public void batchAdd(List<Object[]>batchArgs){bookDao.batchAddBook(batchArgs);}

2.再在Dao接口創建這個方法:

//批量添加 void batchAddBook(List<Object[]>batchArgs);

3.再在Dao接口的實現類中加上:(寫sql語句)

public class BookDaoImpl impletments BookDao{ @Autouwired JdbcTemplate jdbcTemplate; @Override public void batchAddBook(List<Object[]>batchArgs){ String sql = "insert into xxx(表名) values(?,?,?)"; int []ints = jdbcTemplate.batchUpdate(sql,batchArgs); } }

4.測試類

List<Object[]>batchArgs = new ArrayList<>(); Object[] object1 = {"3","java","a"}; Object[] object2 = {"4","javase","a"}; Object[] object3= {"5","javaee","a"}; //按照數據庫表中的字段來手動添加 batchArgs.add(object1); batchArgs.add(object2); batchArgs.add(object3); bookService.batchAdd(batchArgs);

批量修改

步驟跟上面的一樣,其中sql語句為:

@Override public void batchUpdateBook(List<Object[]>batchArgs){ String sql = "update xxx(表名) set username=?,ustatus=? where id=?"; int []ints = jdbcTemplate.batchUpdate(sql,batchArgs);//影響行數 }

注意:在測試類中的集合的順序要和sql語句中的順序一致
如上面代碼對應的集合應該為:

@Test public testupdate(){ List<Object[]>batchArgs = new ArrayList<>(); Object[] object1 = {"java1","a","3"}; Object[] object2 = {"javase1","a","4"}; batchArgs.add(object1); batchArgs.add(object2); bookService.batchUpdate(batchArgs); }

總結:
在service中注入dao,編寫批量的方法名,在這個方法中使用dao中的方法,測試類中使用service中的方法,dao先寫接口,接口中要寫service中使用了的方法,再寫實現類,實現類中注入JdbcTemplate,寫sql語句,在JdbcTemplate注入DataSource(在xml文件中配置數據庫連接池,JdbcTemplate注入DataSource)

總結

以上是生活随笔為你收集整理的JDBC批量操作批量增加批量修改的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。