1. 程式人生 > >Spring jdbc批量儲存資料

Spring jdbc批量儲存資料

在很多時候同步資料的時候需要使用jdbc實現批量儲存,當然在分散式和主從資料庫就不用考慮這種方式了,我用這種方式只是為了有限數量的資料批量插入。

資料list:list.add(bcHistory);

批量插入:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 try { jt.batchUpdate( "insert into b_chat_history (id,from_phone,from_user,to_phone,to_user,type,msg,url,thumb,length,timestamp) value (?,?,?,?,?,?,?,?,?,?,?)"
, new BatchPreparedStatementSetter() { public void setValues(PreparedStatement ps, int i)throws SQLException { ps.setString(1, UUID.randomUUID().toString());// ID的值 ps.setString(2, list.get(i).getFrom_phone()); ps.setString(3, list.get(i).getFrom_user()); ps.setString(4, list.get(i).getTo_phone()); ps.setString(
5, list.get(i).getTo_user()); ps.setString(6, list.get(i).getType()); ps.setString(7, list.get(i).getMsg()); ps.setString(8, list.get(i).getUrl()); ps.setString(9, list.get(i).getThumb()); ps.setInt(10,list.get(i).getLength()); ps.setTimestamp(11, list.get(i).getTimestamp()); } public int getBatchSize() {
return list.size(); } }); catch (Exception e2) { System.out.println("可能有資料異常,同步部分資料異常"); e2.printStackTrace(); }

相關推薦

Spring jdbc批量儲存資料

在很多時候同步資料的時候需要使用jdbc實現批量儲存,當然在分散式和主從資料庫就不用考慮這種方式了,我用這種方式只是為了有限數量的資料批量插入。 資料list:list.add(bcHistory); 批量插入: 1 2 3 4 5 6 7 8 9 10 11 12 13

Java之JDBC批量插入資料

普通插入方式 10萬條資料,耗時13秒。。。 private String url = "jdbc:mysql://localhost:3306/test01"; private String user = "root"; private String password

spring jdbcTemplate批量更新資料

引入了spring框架之後,jdbcTemplate可以直接使用 將jdbcTemplate依賴注入 @Autowired     private JdbcTemplate jdbcTemplate; public JdbcTemplate getJdbcTemplate

Spring+dwr在儲存資料時報錯ERROR [DefaultConverterManager][convertOutbound] No converter found for 'java.lang

今天在除錯一個功能時,出現這麼一個問題: ERROR [DefaultConverterManager][convertOutbound] No converter found for 'java.lang.reflect.Constructor' ERROR [Defau

jdbc批量更新資料

有些時候,適合用jdbc。比如讀一個大的excel檔案資料到資料庫 public static List<String> welfareImport(MultipartFile file,String id,String businessType,IWelfa

用原始的jdbc批量插入資料

原始的jdbc批量插入資料的方法 @Service("importDao") @Transactional //使用jdbc進行批

使用spring jdbcTemplate 批量查詢校驗【支援50萬資料】使用JDBC不會造成記憶體溢位

1.使用spring jdbcTemplate做批量校驗 (支援50萬資料) public void mxCheck(String tableName,Map<String,String> checkMap) {

spring boot使用redis儲存資料

redis簡介 redis是一個支援key-value的資料庫,資料全部在記憶體中處理,在在一定時間間隔中將資料固化到磁碟。因為是記憶體操作,所以速度特別快。(這裡我們主要介紹redis作為快取使用) 總結一下他有以下特點: 1.速度快,Redis能讀的速度是110000次/s,寫的

一個jdbc儲存過程呼叫之間的資料對映問題

背景 一個功能,管理員直接新增使用者賬號,儲存過程如下【postgresql資料庫】: -- 儲存過程 管理員直接新增會員賬號 CREATE OR REPLACE FUNCTION "sp_account_member_reg_by_admin"( para_nam

用python批量獲取某路徑資料夾及子資料夾下的指定型別檔案,並按原資料夾結構批量儲存處理後的檔案

因為是把自己成功執行的整個程式碼按幾部分截取出來的,所以每一小節程式碼不一定能單獨執行,特此說明。 1.獲取某路徑資料夾及子資料夾下的指定pcm型別檔案的全部路徑 import os def eachfile(filepath):     pathdi

python bulk批量儲存elasticsearch資料

之前用kclpy讀取kinesis流資料,處理並儲存到elasticsearch中,現在發現elk中的資料展示與當前時間差越來越大(源資料增加了三倍)。閱讀kinesis文件進行相應分片、例項數擴充套件,均沒有明顯效果。 重新優化了下程式碼,使用了bulk批量儲存資料到elasticsearch,存放速率明

JDBC批量加密mysql表中已有的密碼欄位資料

前言:       公司要求把mysql資料庫的user表中,把表中已有的使用者註冊的密碼資訊給加密處理,原本是沒有加密的,是明文。今天腦子也是迷迷糊糊的,所以程式碼呢,寫得有些low,也懶得改了,不過功能是實現了。 專案結構: 將原本的user表增加了兩個欄位,t

Spring-JDBC 資料訪問

新增.jar包 <!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc --> <dependency> <groupId>org

【原創原始碼】批量儲存圖片到一定數量後新建資料夾繼續儲存(檔名不重複),並記錄圖片的ID、url地址以及名稱

最近寫的一小段程式碼,具體實現的功能如下: 1.反覆讀取本地一張圖片,使用opencv更改其大小為112*112 2.使用GUID給圖片命名(保證圖片名稱不會重複) 3.建立資料夾,每個資料夾存放400個圖片,滿400後建立新的資料夾(以時間命名)繼續存放...以此類推 4.記錄每張

批量讀取資料夾下的圖片並儲存在一個四維陣列中

在深度學習開發中,我們在網上找的現成的資料集,都是已經處理好了的,我們直接使用即可。但是如果我們想用自己的圖片訓練網路,會發現編譯器總是報讀入圖片的shape大小不一致的情況。 在用來訓練的圖片陣列中,一般都是四維的,比如(600,299,299,3),600表示在這個陣列中一共有600張圖

Spring+JPA 資料庫儲存操作沒有異常但資料儲存不成功

Spring+JPA儲存資料儲存不進去是因為jpa給修改操作加了預設事務,所以必須加上flush()方法提交才能真正的儲存資料。 而且儲存操作的方法必須在spring中配置好事務,否則呼叫flush時spring會報該方法不在事務中的異常

8. 使用JPA儲存資料【從零開始學Spring Boot】

【視訊&交流平臺】 http://study.163.com/course/introduction.htm?courseId=1004329008&utm_campaign=commission&utm_source=40000000

Spring JDBC刪除資料

以下示例將展示如何使用Spring jdbc執行刪除資料庫表中的記錄,這裡演示如何刪除指定student表中的記錄。語法:String deleteQuery = "delete from Student where id = ?"; jdbcTemplateObject.u

用SQL儲存過程實現批量插入資料

1,單條插入 INSERT INTO time_by_day   (time_id, the_date, the_year, month_of_year, quarter,day_of_month) VALUES ('1101', '1999-10-1', '1999', '10', 'Q4','1'

使用JDBC在MySQL資料庫中快速批量插入資料

使用JDBC連線MySQL資料庫進行資料插入的時候,特別是大批量資料連續插入(10W+),如何提高效率呢? 在JDBC程式設計介面中Statement 有兩個方法特別值得注意: void addBatch() throws SQLException Adds a set