Java連接MySql數(shù)據(jù)庫(kù),并且實(shí)現(xiàn)增刪改查功能_第1頁(yè)
Java連接MySql數(shù)據(jù)庫(kù),并且實(shí)現(xiàn)增刪改查功能_第2頁(yè)
Java連接MySql數(shù)據(jù)庫(kù),并且實(shí)現(xiàn)增刪改查功能_第3頁(yè)
Java連接MySql數(shù)據(jù)庫(kù),并且實(shí)現(xiàn)增刪改查功能_第4頁(yè)
Java連接MySql數(shù)據(jù)庫(kù),并且實(shí)現(xiàn)增刪改查功能_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Java連接MySql數(shù)據(jù)庫(kù),并且實(shí)現(xiàn)增刪改查功能!這是我最近寫的一個(gè)連接 MySql數(shù)據(jù)庫(kù)的一個(gè)例子,主要實(shí)現(xiàn)了插入,刪除,更新,選擇操作,用的環(huán)境是 j2sdk1.4.2_08, Eclipse3.1。下面我把在Eclipse3.1 下怎樣配置數(shù)據(jù)庫(kù)連接信息簡(jiǎn)單說(shuō)一下。1. 啟動(dòng) Eclipse3.1o2. 建立一個(gè)Java project叫DbConnect吧,再在該P(yáng)roject下建立一個(gè)新類也叫 DbConnect 吧。3. 右擊DbConnect.java文件點(diǎn)import,選擇Archive file然后選擇你的 mysql-connector-java-3.1.8-bin.ja

2、r文件,點(diǎn)Finish。你會(huì)看到有好些文件被加載進(jìn) 來(lái),OK這就是連接MySql所需的驅(qū)動(dòng)信息。如果到了這里你都成功的話那么恭 喜你,你已經(jīng)成功一半了?。海?. 接下來(lái)把我下面的代碼copy到你的Java文件中,修改相關(guān)的數(shù)據(jù)庫(kù)連接信息 運(yùn)行一下。OK?我說(shuō)一下那個(gè) mysql-connector-java-3.1.8-bin.jar文件,其實(shí)這就是一個(gè) MySql的 驅(qū)動(dòng),各數(shù)據(jù)庫(kù)廠商提供了不同的適用丁 JDBC的驅(qū)動(dòng)使得在Java中連接數(shù)據(jù) 庫(kù)非常簡(jiǎn)單。這里我就不多說(shuō)了,以后我會(huì)寫篇專門介紹數(shù)據(jù)庫(kù)驅(qū)動(dòng)的文章。關(guān)丁 MySql的驅(qū)動(dòng)還有更新版本的,你需要到 MySql的網(wǎng)站上去下載,這個(gè)網(wǎng)上

3、 到處都是,我就不多說(shuō)了。下面看程序,有些地方我寫了詳細(xì)的注釋應(yīng)該能看懂。 這個(gè)類是非常有特色的,在每個(gè)方法的傳人參數(shù)和返回值不變的情況下,希望高手能提出改進(jìn)意見(jiàn)。多指教,謝謝!l*數(shù)據(jù)庫(kù)連接、選擇、更新、刪除演示*l /import java.sql.*;import java.sql.Connection;import java.sql.Statement;import java.sql.ResultSet;import java.sql.DriverManager;import java.util.*;public class DbConnectlllllllllllllllllllll

4、llllllllllllllllllll>>>數(shù)據(jù)成員 and 構(gòu)造函數(shù)private Connection dbconn; private Statement dbstate; private ResultSet dbresult;DbConnect()dbconn = null;dbstate = null;dbresult = null;/>>> 類方法public void print(String str)/簡(jiǎn)化輸出(System.out.println(str);/end print( )/*連接MySql數(shù)據(jù)庫(kù)* param host* par

5、am port* param dbaName* param usName* param psw* return bool值,連接成功返回真,失敗返回假*/public boolean dbConnection(String host, String port, String dbaName, String usName, String psw)(String driverName = "com.mysql.jdbc.Driver”;/"org.gjt.mm.mysql.Driver”兩個(gè)驅(qū)動(dòng)都可以用String dbHost = host;/傲據(jù)庫(kù)的一些信息String d

6、bPort = port;String dbName = dbaName;String enCoding = "?useUnicode=true&characterEncoding=gb2312”;僻決MySql中文問(wèn)題,要連續(xù)寫不能空格String userName = usName;String Psw = psw;String url = "jdbc:mysql:/" + dbHost + ":" + dbPort + "/" + dbName + enCoding;try(Class.forName(driv

7、erName).newInstance();dbconn = DriverManager.getConnection(url, userName, Psw);/getConnection(url, userName, Psw從給的 driver 中選擇合適的去連 接數(shù)據(jù)庫(kù)/return a connection to the URLcatch(Exception e)(print("url = " + url); /發(fā)生錯(cuò)誤時(shí),將連接數(shù)據(jù)庫(kù)信息打印出來(lái)print("userName = " + userName);print("Psw"

8、; + Psw);print("Exception: " + e.getMessage();/的到出錯(cuò)信息if (dbconn != null)/dbconn != null表示連接數(shù)據(jù)庫(kù)成功,由異常保證! ? return true;elsereturn false; / end boolean dbConnection( )/*對(duì)數(shù)據(jù)庫(kù)表進(jìn)行選擇操作!* param tableName 數(shù)據(jù)庫(kù)表名* param fieles 字段名* param selCondition 選擇條件* return 一個(gè)含有 map 的 List (歹U表)*/public ArrayL

9、ist dbSelect(String tableName, ArrayList fields, StringselCondition)ArrayList mapInList = new ArrayList();String selFields =""for (int i = 0; i<fields.size(); +i)selFields += fields.get(i) + ”,”;String selFieldsTem = selFields.substring(0, selFields.length()- 2);/根據(jù)String的索引提取子申trydbsta

10、te = dbconn.createStatement();String sql = "select " + selFieldsTem + " from " + tableName + selCondition;print("sql = " + sql);trydbresult = dbstate.executeQuery(sql);catch(Exception err)print("Sql = " + sql);print("Exception: " + err.getMessage();w

11、hile(dbresult.next()Map selResult = new HashMap();selResult.put("message_type”, dbresult.getString("message_type");selResult.put("message_content”,dbresult.getString("message_content");maplnList.add(selResult);catch(Exception e)print("Exception: " + e.getMessa

12、ge();return mapInList;/end String dbSelect( )/*對(duì)數(shù)據(jù)庫(kù)表中的記錄進(jìn)行刪除操作* param tableName* param condition* return bool值,表示刪除成功或者失敗。*/public boolean dbDelete(String tableName, String condition)(/>>>刪除操作boolean delResult = false;String sql = "delete from " + tableName + " " + condi

13、tion;try(dbstate.executeUpdate(sql); /return int / int delRe = ?delResult = true;catch(Exception e)(print ("sql = " + sql);print ("Exception: " + e.getMessage();if (delResult)return true;elsereturn false;/end dbDelete( )/*對(duì)數(shù)據(jù)庫(kù)表中記錄進(jìn)行更新操作* param tabName* param reCount* return bool值

14、,成功返回true,失敗返回false*/public boolean dbUpdate(String tabName, HashMap reCount, String upCondition)(boolean updateResult = false;String Values ="”;Iterator keyValues = reCount.entrySet().iterator();for(int i = 0; i<reCount.size(); +i)(Map.Entry entry = (Map.Entry) keyValues.next();Object key =

15、 entry.getKey();Object value = entry.getValue();Values += key + "=" + "' " + value + "I' " + ","String updateValues = Values.substring(0, Values.length()- 2);String sql = "update " + tabName + " set " + updateValues + "" +

16、 upCondition;trydbstate.executeUpdate(sql);updateResult = true;catch(Exception err)(print("sql = " + sql);print("Exception: " + err.getMessage();if (updateResult)return true;elsereturn false;/end dbUpdate()/*對(duì)數(shù)據(jù)庫(kù)表進(jìn)行插入操作* param tabName* param hm* return bool值,成功返回true,失敗返回false*/p

17、ublic boolean dbInsert(String tabName, HashMap values)(String sql =""String insertFields = "", temFields =""String insertValues = "", temValues ="" boolean insertResult = false;Iterator keyValues = values.entrySet().iterator();for(int i = 0; i<val

18、ues.size(); +i)Map.Entry entry = (Map.Entry) keyValues.next();Object key = entry.getKey();Object value = entry.getValue();temFields += key + ","temValues += " ' " + value + "' " + ","insertFields = temFields.substring(0, temFields.length()- 2);insertVa

19、lues = temValues.substring(0, temValues.length() - 2);sql += "insert into " + tabName + " (" + insertFields + ") values" + ”( insertValues + ")"try(dbstate.executeUpdate(sql);insertResult = true;catch(Exception e)(print("Sql = " + sql);print("Ex

20、ception: " + e.getMessage();if (insertResult)return true;elsereturn false;/end dbInsert( )/*斷開(kāi)數(shù)據(jù)庫(kù)* return bool值,成功返回true,失敗返回false*/public boolean dbClose()boolean closeResult = false;trydbconn.close();closeResult = true;catch(Exception e)print("Exception: " + e.getMessage();if (close

21、Result)return true;elsereturn false;/end dbClose()/*/>>>入口 主函數(shù) */public static void main(String args) DbConnect dc = new DbConnect();連接數(shù)據(jù)庫(kù)用到的一些參數(shù).String dbHost = "localhost" String dbPort = "3306"String dbName = "feast"String dbuserName = "root"String

22、 dbpsw =""boolean con = dc.dbConnection(dbHost, dbPort, dbName, dbuserName, dbpsw); 連接數(shù)據(jù)庫(kù)if (con)ArrayList fields = new ArrayList();fields.add("message_content");fields.add("message_type");Map Imap = new HashMap();String selCondition = " where message_type = 1 limi

23、t 2"ArrayList str = dc.dbSelect("feast", fields, selCondition); />>> 選擇記if (str.size() != 0)dc.print("select OK!");dc.print("str ' s size = " + str.size();for(int i = 0; i<str.size(); +i)lmap = (HashMap)str.get(i);dc.print("lmap = " + lmap);elsedc.print("fail");String tableName = "feast"String condition = "where message_type = 5"boolean del = dc.dbDelete(tableName, condition);/刪除數(shù)據(jù)if ( del)dc.print("delete ok");elsedc.print("delete error!");HashMap m = new HashMap();m

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論