java怎么與數(shù)據(jù)庫連接 ? ?
工具:eclipse、MySQL、MySQL連接驅(qū)動:mysql-connector-java-5.1.45.jar
這是MySQL官方提供的連接方式(即MySQL連接驅(qū)動),解壓后得到j(luò)ar庫文件,需要在工程中導(dǎo)入該庫文件。
這是解壓后的文件:(推薦教程:java教程)
1、新建java項(xiàng)目 然后新建一個(gè)文件夾——libs(用來放各種外部包)
右鍵工程名(我的是sqldemo1)—新建New—文件夾Folder—Folder name為libs—Finish。
2、在包里面加入連接mysql數(shù)據(jù)庫的包
即剛才解壓后得到的 mysql-connector-java-5.1.45-bin.jar
然后復(fù)制粘貼到我們java項(xiàng)目的libs文件夾下面(注意是物理地址里);
此時(shí),在eclipse中—右擊libs文件夾—刷新Refresh,就將下載好的JDBC放到該文件夾下,如下圖所示:
3、構(gòu)建路徑上的jar包
在eclipse中
a:點(diǎn)擊項(xiàng)目Project——選擇屬性Propeties
b:進(jìn)行添加
打開屬性Propeties后,點(diǎn)擊java構(gòu)建路徑(Java Build Path)
點(diǎn)擊添加jar(Add JARs...),選擇你的項(xiàng)目下的jar包,然后確定,最后添加完成
?
4、在java項(xiàng)目中進(jìn)行mysql數(shù)據(jù)庫的連接
?在java項(xiàng)目包中新建兩個(gè)Class類文件,我命名為DBHelper和Demo
一個(gè)類用來打開或關(guān)閉數(shù)據(jù)庫:DBHelper.java
package sqldemo1; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; public class DBHelper { public static final String url = "jdbc:mysql://127.0.0.1/student"; public static final String name = "com.mysql.jdbc.Driver"; public static final String user = "root"; public static final String password = ""; public Connection conn = null; public PreparedStatement pst = null; public DBHelper(String sql) { try { Class.forName(name);//指定連接類型 conn = DriverManager.getConnection(url,user,password);//獲取連接 pst = conn.prepareStatement(sql);//準(zhǔn)備執(zhí)行語句 } catch (Exception e) { e.printStackTrace(); } } public void close() { try { this.conn.close(); this.pst.close(); } catch (SQLException e) { e.printStackTrace(); } } }
再寫一個(gè)Demo.java來執(zhí)行相關(guān)查詢操作
package sqldemo1; import java.sql.ResultSet; import java.sql.SQLException; public class Demo { static String sql = null; static DBHelper db1 = null; static ResultSet ret = null; public static void main(String[] args) { sql = "select *from stuinfo";//SQL語句 db1 = new DBHelper(sql);//創(chuàng)建DBHelper對象 try { ret = db1.pst.executeQuery();//執(zhí)行語句,得到結(jié)果集 while (ret.next()) { String uid = ret.getString(1); String ufname = ret.getString(2); String ulname = ret.getString(3); String udate = ret.getString(4); System.out.println(uid + "\t" + ufname + "\t" + ulname + "\t" + udate ); }//顯示數(shù)據(jù) ret.close(); db1.close();//關(guān)閉連接 } catch (SQLException e) { e.printStackTrace(); } } }
?之后就可以測試
查詢結(jié)果如下
5、連接mysql數(shù)據(jù)庫失敗原因分析:
1、數(shù)據(jù)庫的服務(wù)是否打開
2、是否在新建了對應(yīng)的數(shù)據(jù)庫
3、是否添加了jar包
4、是否加載了驅(qū)動
5、連接字符串、登錄名以及密碼是否有誤
如果連接失敗,看這幾個(gè)因素是否發(fā)生
以上是java怎么與數(shù)據(jù)庫連接的詳細(xì)內(nèi)容。更多信息請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱AI工具

Undress AI Tool
免費(fèi)脫衣服圖片

Undresser.AI Undress
人工智能驅(qū)動的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover
用于從照片中去除衣服的在線人工智能工具。

Clothoff.io
AI脫衣機(jī)

Video Face Swap
使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費(fèi)的代碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
功能強(qiáng)大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版
神級代碼編輯軟件(SublimeText3)

settings.json文件位于用戶級或工作區(qū)級路徑,用于自定義VSCode設(shè)置。1.用戶級路徑:Windows為C:\Users\\AppData\Roaming\Code\User\settings.json,macOS為/Users//Library/ApplicationSupport/Code/User/settings.json,Linux為/home//.config/Code/User/settings.json;2.工作區(qū)級路徑:項(xiàng)目根目錄下的.vscode/settings

要正確處理JDBC事務(wù),必須先關(guān)閉自動提交模式,再執(zhí)行多個(gè)操作,最后根據(jù)結(jié)果提交或回滾;1.調(diào)用conn.setAutoCommit(false)以開始事務(wù);2.執(zhí)行多個(gè)SQL操作,如INSERT和UPDATE;3.若所有操作成功則調(diào)用conn.commit(),若發(fā)生異常則調(diào)用conn.rollback()確保數(shù)據(jù)一致性;同時(shí)應(yīng)使用try-with-resources管理資源,妥善處理異常并關(guān)閉連接,避免連接泄漏;此外建議使用連接池、設(shè)置保存點(diǎn)實(shí)現(xiàn)部分回滾,并保持事務(wù)盡可能短以提升性能。

依賴性(di)IsadesignpatternwhereObjectsReceivedenciesenciesExtern上,推廣looseSecouplingAndEaseerTestingThroughConstructor,setter,orfieldInjection.2.springfraMefringframeWorkSannotationsLikeLikeLike@component@component,@component,@service,@autowiredwithjava-service和@autowiredwithjava-ligatiredwithjava-lase-lightike

使用java.time包中的類替代舊的Date和Calendar類;2.通過LocalDate、LocalDateTime和LocalTime獲取當(dāng)前日期時(shí)間;3.使用of()方法創(chuàng)建特定日期時(shí)間;4.利用plus/minus方法不可變地增減時(shí)間;5.使用ZonedDateTime和ZoneId處理時(shí)區(qū);6.通過DateTimeFormatter格式化和解析日期字符串;7.必要時(shí)通過Instant與舊日期類型兼容;現(xiàn)代Java中日期處理應(yīng)優(yōu)先使用java.timeAPI,它提供了清晰、不可變且線

TheJVMenablesJava’s"writeonce,runanywhere"capabilitybyexecutingbytecodethroughfourmaincomponents:1.TheClassLoaderSubsystemloads,links,andinitializes.classfilesusingbootstrap,extension,andapplicationclassloaders,ensuringsecureandlazyclassloa

ChromecanopenlocalfileslikeHTMLandPDFsbyusing"Openfile"ordraggingthemintothebrowser;ensuretheaddressstartswithfile:///;2.SecurityrestrictionsblockAJAX,localStorage,andcross-folderaccessonfile://;usealocalserverlikepython-mhttp.server8000tor

前形式攝取,quarkusandmicronautleaddueTocile timeProcessingandGraalvSupport,withquarkusoftenpernperforminglightbetterine nosserless notelless centarios.2。

NetworkPortSandFireWallsworkTogetHertoEnableCommunication whereSeringSecurity.1.NetWorkPortSareVirtualendPointSnumbered0-655 35,with-Well-with-Newonportslike80(HTTP),443(https),22(SSH)和25(smtp)sindiessingspefificservices.2.portsoperateervertcp(可靠,c
