本篇文章給大家?guī)?lái)的內(nèi)容是關(guān)于ubuntu環(huán)境下如何使Java連接mysql數(shù)據(jù)庫(kù),有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對(duì)你有所幫助。
對(duì)于jar包,我們需要將它配置到開(kāi)發(fā)工具中去。如圖所示,
第一步,我們先在項(xiàng)目中創(chuàng)建一個(gè)目錄,通常就叫jar。叫啥都行。然后將jar包c(diǎn)trl+C+V進(jìn)去就好了。
第二步,右鍵,選擇build path,里面有個(gè)奶瓶標(biāo)志的東西。叫啥不記得了,記住奶瓶形狀就好啦。我這里可能配置過(guò)了,沒(méi)了。
如果在Referenced Libraries看見(jiàn)如圖所示的jar包,就成功啦。很簡(jiǎn)單的。
立即學(xué)習(xí)“Java免費(fèi)學(xué)習(xí)筆記(深入)”;
jar包搞定后,我們就上代碼了。
看自己寫(xiě)的代碼是真的丑啊,但是還是能行的。稍微給大家解析一下。
本著面象對(duì)象的原則,單獨(dú)用了一個(gè)包,一個(gè)類(lèi),目的就是為了返回一個(gè)Connection對(duì)象。
首先是初始化,driver、URL、user、password,大家看著改成自己的就好。
在url中加入? ?useUnicode=true&characterEncoding=UTF-8? 的目的是為了防止中文寫(xiě)入數(shù)據(jù)庫(kù)亂碼問(wèn)題。
初始化后就是加載驅(qū)動(dòng),然后得到Connection對(duì)象,最后提供一個(gè)方法返回該對(duì)象。
public?class?DBHelp?{ private?static?Connection?conn; static?{ String?driver?=?"com.mysql.jdbc.Driver"; String?url?=?"jdbc:mysql://localhost:3306/qbxbf?useUnicode=true&characterEncoding=UTF-8"; String?user?=?"root"; String?password?=?"123"; try?{ Class.forName(driver); conn?=?DriverManager.getConnection(url,user,password); }?catch?(Exception?e)?{ e.printStackTrace(); } } public?static?Connection?getCoon()?{ return?conn; } }
關(guān)于dbutils,這是一個(gè)apache開(kāi)源的數(shù)據(jù)庫(kù)處理包。功能非常強(qiáng)大,大家自行學(xué)習(xí)去吧,嘿嘿。
?
QueryRunner是dbutils的一個(gè)對(duì)象。利用該對(duì)象可以進(jìn)行增刪改查。
private?static?void?write2DB(WX?wx)?throws?SQLException?{ Connection?conn?=?DBHelp.getCoon(); QueryRunner?qr?=?new?QueryRunner(); String?sql?=?"insert?into?wx(title,author,institution,keywords,abstracts,journal,period)?values(?,?,?,?,?,?,?)"; Object[]?params?=?{wx.getTitle(),wx.getAuthor(),wx.getInstitution(),wx.getKeywords(),wx.getAbstracts(),wx.getJournal(),wx.getPeriod()}; qr.update(conn,?sql,?params); }
通過(guò)上述方法即可將數(shù)據(jù)寫(xiě)入到數(shù)據(jù)庫(kù)了 。接下來(lái),再將一下從數(shù)據(jù)庫(kù)到txt文本。
?
在這里面有一個(gè)dbutils很強(qiáng)大的功能,就是BeanListHandler。當(dāng)然了,如果只是一個(gè)實(shí)體對(duì)象,可以用BeanHandler。
?
public?static?void?main(String[]?args)?throws?Exception?{ Connection?conn?=?DBHelp.getCoon(); QueryRunner?qr?=?new?QueryRunner(); String?sql?=?"select?*?from?wx?order?by?period?desc"; List<wx>?wx_list?=?qr.query(conn,?sql,?new?BeanListHandler<wx>(WX.class)); File?file?=?new?File("/home/phe/桌面/情報(bào)學(xué)報(bào)2015_Y.txt"); if?(!file.exists())?{ ????file.createNewFile(); } BufferedWriter?bw?=?new?BufferedWriter(new?OutputStreamWriter(new?FileOutputStream(file,true))); for(WX?wx:?wx_list)?{ bw.write(wx.getJournal());bw.newLine();bw.flush(); bw.write("第"+wx.getPeriod()+"期");bw.newLine();bw.flush(); bw.write("Title:"+wx.getTitle());bw.newLine();bw.flush(); bw.write("Author:"+wx.getAuthor());bw.newLine();bw.flush(); bw.write("Institution:"+wx.getInstitution());bw.newLine();bw.flush(); bw.write("Keywords:"+wx.getKeywords());bw.newLine();bw.flush(); bw.write("Abstract:"+wx.getAbstracts());bw.newLine();bw.flush(); bw.newLine(); } bw.close(); }</wx></wx>