當前位置:首頁 » 編程語言 » java資料庫的更新

java資料庫的更新

發布時間: 2023-04-05 21:08:06

java5000萬條數據怎麼更新

java5000萬條數據如下方法更新。
1、創建可滾動、更新的Statement。
2、創建PreparedStatement時指定參數。
3、者圓批首譽塌量更新虛畝。

② java多線程更新資料庫批量的數據信息嗎怎麼實現

//將資料庫中的數據冊扮條數分段
public void division(){
//獲取要導入的總的數據條數
String sql3="SELECT count(*) FROM [CMD].[dbo].[my1]";
try {
pss=cons.prepareStatement(sql3);
rss=pss.executeQuery();

while(rss.next()){
System.out.println("總記錄條數:"+rss.getInt(1));
sum=rss.getInt(1);
}
//每30000條記錄作為一個分毀纖割點
if(sum>=30000){
n=sum/30000;
resie=sum%30000;
}else{
resie=sum;
}

System.out.println(n+" "+resie);

} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
線程類
public MyThread(int start,int end) {
this.end=end;
this.start=start;
System.out.println("處理掉余數");
try {

System.out.println("--------"+Thread.currentThread().getName()+"------------");
Class.forName(SQLSERVERDRIVER);
System.out.println("加纖姿仿載sqlserver驅動...");
cons = DriverManager.getConnection(CONTENTS,UNS,UPS);
stas = cons.createStatement();
System.out.println("連接SQLServer資料庫成功!!");

System.out.println("載入mysql驅動.....");
Class.forName(MYSQLDRIVER);
con = DriverManager.getConnection(CONTENT,UN,UP);
sta = con.createStatement();
// 關閉事務自動提交
con.setAutoCommit(false);
System.out.println("連接mysql資料庫成功!!");

} catch (Exception e) {
e.printStackTrace();
}
// TODO Auto-generated constructor stub
}

public ArrayList<Member> getAll(){
Member member;
String sql1="select * from (select row_number() over (order by pmcode) as rowNum,*" +
" from [CMD].[dbo].[my1]) as t where rowNum between "+start+" and "+end;
try {
System.out.println("正在獲取數據...");
allmembers=new ArrayList();
rss=stas.executeQuery(sql1);
while(rss.next()){
member=new Member();
member.setAddress1(rss.getString("address1"));
member.setBnpoints(rss.getString("bnpoints"));
member.setDbno(rss.getString("dbno"));
member.setExpiry(rss.getString("expiry"));
member.setHispoints(rss.getString("hispoints"));
member.setKypoints(rss.getString("kypoints"));
member.setLevels(rss.getString("levels"));
member.setNames(rss.getString("names"));
member.setPmcode(rss.getString("pmcode"));
member.setRemark(rss.getString("remark"));
member.setSex(rss.getString("sex"));
member.setTelephone(rss.getString("telephone"));
member.setWxno(rss.getString("wxno"));
member.setPmdate(rss.getString("pmdate"));
allmembers.add(member);
// System.out.println(member.getNames());
}
System.out.println("成功獲取sqlserver資料庫數據!");
return allmembers;

} catch (SQLException e) {
// TODO Auto-generated catch block
System.out.println("獲取sqlserver資料庫數據發送異常!");
e.printStackTrace();
}
try {
rss.close();
stas.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}

public void inputAll(ArrayList<Member> allmembers){
System.out.println("開始向mysql中寫入");
String sql2="insert into test.my2 values (?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
try {
ps=con.prepareStatement(sql2);
System.out.println("-------------------------等待寫入數據條數: "+allmembers.size());
for(int i=0;i<allmembers.size();i++){
ps.setString(1, allmembers.get(i).getPmcode());
ps.setString(2, allmembers.get(i).getNames());
//System.out.println(allmembers.get(i).getNames());
ps.setString(3, allmembers.get(i).getSex());
ps.setString(4, allmembers.get(i).getTelephone());
ps.setString(5, allmembers.get(i).getAddress1());
ps.setString(6, allmembers.get(i).getPmdate());
ps.setString(7, allmembers.get(i).getExpiry());
ps.setString(8, allmembers.get(i).getLevels());
ps.setString(9, allmembers.get(i).getDbno());
ps.setString(10, allmembers.get(i).getHispoints());
ps.setString(11, allmembers.get(i).getBnpoints());
ps.setString(12, allmembers.get(i).getKypoints());
ps.setString(13, allmembers.get(i).getWxno());
ps.setString(14, allmembers.get(i).getRemark());
//插入命令列表
//ps.addBatch();
ps.executeUpdate();
}
//ps.executeBatch();
con.commit();

ps.close();
con.close();
this.flag=false;
System.out.println(Thread.currentThread().getName()+"--->OK");
} catch (SQLException e) {
// TODO Auto-generated catch block
System.out.println("向mysql中更新數據時發生異常!");
e.printStackTrace();
}
}
@Override
public void run() {
// TODO Auto-generated method stub
while(true&&flag){
this.inputAll(getAll());
}
}

③ java 如何並發更新資料庫同一條數據

分2分情況:

一.普通的單應用並發,使用關鍵字synchronized就可以實現。

二.多應用或多台並發,這時在由於2者並非同一應用,使用synchronized並不能滿足要求。此時,有下面幾種方案:

  1. 資料庫行級鎖,優點是簡單粗暴,缺點是容易死鎖,非資料庫專業人事建議不使用。

  2. 寫入請求分離成一個獨立項目,這就回到了第一種情況,優點是實現技術難度低,缺點是高並發性能相對不是很高。

  3. 使用分布式事務管理,這個是目前高並發處理的最優方案了。


最後要說的沒有差的方案,每個方案都有其適用環境,請根據自身需求選擇對應方案。

④ java怎麼實現資料庫有新數據 頁面數據就更新

既然是有新數據,說明是兩種情況:
1、自己在資料庫內填寫的,那就脫離了資料庫的採集用戶信息的作用,無效性比較大,可以採用頁面時間畝粗圓間隔刷新的方式來每次獲取資料庫信息;
2.用戶傳進資料庫的凳森數據,既然是傳進來的 那就會發生資料庫和頁面交互,這樣迅塌的話當數據傳進資料庫的時候在Dao方法中返回一個資料庫select*from test(表)傳出來的值,頁面上request接收一下,不就能時時更新了嘛

⑤ java語句怎樣更新sql資料庫,

Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程 。Java具有簡單性、面向對象、分布式、健壯性、安全性、平台獨立與可移植性、多線程、動態性等特點 。Java可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等 。

(1)用 preparedstatement ,你用preparedstatement 作為關鍵字,上網找找。資料一堆一堆的。

總結:Jdbc中的statement對象用於向資料庫發送SQL語句,想完成對資料庫的增刪改查,只需要通過這個對象向資料庫發送增刪改查語句即可。
Statement對象的executeUpdate方法,用於向資料庫發送增、刪、改的sql語句,executeUpdate執行完後,將會返回一個整數(即增刪改語句導致了資料庫幾行數據發生了變化)。
Statement.executeQuery方法用於向資料庫發送查詢語句,executeQuery方法返回代表查詢結果的ResultSet對象。

⑥ java實現資料庫定時更新

才1500條記錄,怎麼弄也花不了很長時間,也不會占很大資源。
因為是兩個不同的資料庫所以用純SQL是做不了的。只有讀到伺服器中做比較然後更新。
這樣的操作最好不要用框架,自己寫也不是很難的,表2你只要讀一次然後循環發update到表1里去,表1的資料庫連接你創建一個就好了,你把它緩存了,在循環里不停的反復用(只用一個就行了不用寫連接池,因為不涉及多線程,--千萬不要發一條update建一個connection 然後關閉)整個過程大概不到一分中就完成(環境不一樣會有一點出入)
任何疑問
blog.csdn.net/shmilyhe

mail:[email protected]

⑦ java同時更新4條數據有必要批量更新嗎

沒必要。Java是塌弊一門面向對象編程語言,1990年代初由詹姆斯·高斯亮衫搭林等人開發出Java語言的雛形。java同時更新4條數據沒有必要批量更新。批量添加,批敬拿量更新原理類似於批量刪除,批量添加可以用在Excel文件導入時過濾出導入成功的數據進行批量添加到資料庫,只對資料庫進行一次訪問

熱點內容
配音秀緩存在手機哪裡 發布:2024-11-02 14:23:27 瀏覽:294
linux下載gcc 發布:2024-11-02 14:13:47 瀏覽:344
寫演算法交易 發布:2024-11-02 13:57:09 瀏覽:208
安卓怎麼下載鴻蒙 發布:2024-11-02 13:36:13 瀏覽:663
加密狗rsa 發布:2024-11-02 13:20:44 瀏覽:560
實用java教程 發布:2024-11-02 13:07:39 瀏覽:930
ide文件夾 發布:2024-11-02 12:51:37 瀏覽:559
python中字典的用法 發布:2024-11-02 12:40:42 瀏覽:28
安卓怎麼下載zine 發布:2024-11-02 12:40:38 瀏覽:793
深入理解java虛擬 發布:2024-11-02 12:40:36 瀏覽:557