![Java連接MySql數(shù)據(jù)庫(kù),并且實(shí)現(xiàn)增刪改查功能_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/5/7d19ad7c-3b0e-49b7-ab61-f91fc9e2559e/7d19ad7c-3b0e-49b7-ab61-f91fc9e2559e1.gif)
![Java連接MySql數(shù)據(jù)庫(kù),并且實(shí)現(xiàn)增刪改查功能_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/5/7d19ad7c-3b0e-49b7-ab61-f91fc9e2559e/7d19ad7c-3b0e-49b7-ab61-f91fc9e2559e2.gif)
![Java連接MySql數(shù)據(jù)庫(kù),并且實(shí)現(xiàn)增刪改查功能_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/5/7d19ad7c-3b0e-49b7-ab61-f91fc9e2559e/7d19ad7c-3b0e-49b7-ab61-f91fc9e2559e3.gif)
![Java連接MySql數(shù)據(jù)庫(kù),并且實(shí)現(xiàn)增刪改查功能_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/5/7d19ad7c-3b0e-49b7-ab61-f91fc9e2559e/7d19ad7c-3b0e-49b7-ab61-f91fc9e2559e4.gif)
![Java連接MySql數(shù)據(jù)庫(kù),并且實(shí)現(xiàn)增刪改查功能_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/5/7d19ad7c-3b0e-49b7-ab61-f91fc9e2559e/7d19ad7c-3b0e-49b7-ab61-f91fc9e2559e5.gif)
版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全球及中國(guó)飼料中間體化學(xué)品行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025-2030全球高速標(biāo)簽打印機(jī)行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年全球及中國(guó)汽車座椅加熱通風(fēng)線束行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025-2030全球條形碼庫(kù)存管理系統(tǒng)行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025-2030全球生物基電池行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年全球及中國(guó)農(nóng)場(chǎng)畜牧管理軟件行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025-2030全球印刷級(jí)熱敏紙行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 擔(dān)保函保證合同
- 2025監(jiān)控售后維修合同
- 房屋買賣合同范文
- 2025年長(zhǎng)沙穗城軌道交通有限公司招聘筆試參考題庫(kù)含答案解析
- 2024年湖南有色金屬職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測(cè)驗(yàn)歷年參考題庫(kù)(頻考版)含答案解析
- 2025年山東華魯海運(yùn)有限公司招聘筆試參考題庫(kù)含答案解析
- 銀川經(jīng)濟(jì)技術(shù)開(kāi)發(fā)區(qū)2024年綜合考核評(píng)價(jià)指標(biāo)表及評(píng)分細(xì)則
- 品管圈PDCA改善案例-降低住院患者跌倒發(fā)生率
- 《中小學(xué)校園食品安全和膳食經(jīng)費(fèi)管理工作指引》專題講座
- 廣東省茂名市2023-2024學(xué)年高一上學(xué)期物理期末試卷(含答案)
- 沙發(fā)市場(chǎng)需求與消費(fèi)特點(diǎn)分析
- 豐順縣縣級(jí)集中式飲用水水源地基礎(chǔ)狀況調(diào)查和風(fēng)險(xiǎn)評(píng)估報(bào)告
- 重慶市2023-2024學(xué)年七年級(jí)上學(xué)期期末考試數(shù)學(xué)試題(含答案)
- 《七律二首 送瘟神》教案- 2023-2024學(xué)年高教版(2023)中職語(yǔ)文職業(yè)模塊
評(píng)論
0/150
提交評(píng)論