MySQL實(shí)現(xiàn)JDBC詳細(xì)步驟
JDBC基礎(chǔ)入門
概念
JDBC(Java DataBase Connectivity,java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的Java API,可以為多種關(guān)系型數(shù)據(jù)庫提供統(tǒng)一訪問,它是由一組用Java語言編寫的類和接口組成的。
JDBC 規(guī)范定義接口,具體的實(shí)現(xiàn)由各大數(shù)據(jù)庫廠商來實(shí)現(xiàn)。
JDBC 是 Java 訪問數(shù)據(jù)庫的標(biāo)準(zhǔn)規(guī)范,真正怎么操作數(shù)據(jù)庫還需要具體的實(shí)現(xiàn)類,也就是數(shù)據(jù)庫驅(qū)動。每個數(shù)據(jù)庫廠商根據(jù)自家數(shù)據(jù)庫的通信格式編寫好自己數(shù)據(jù)庫的驅(qū)動。所以我們只需要會調(diào)用 JDBC 接口中的方法即可,數(shù)據(jù)庫驅(qū)動由數(shù)據(jù)庫廠商提供。
本質(zhì)
其實(shí)就是java官方提供的一套規(guī)范(接口)。用于幫助開發(fā)人員快速實(shí)現(xiàn)不同關(guān)系型數(shù)據(jù)庫的連接!
JDBC的7個步驟
(1)導(dǎo)入jar包
(2)注冊驅(qū)動
Class.forName("com.mysql.cj.jdbc.Driver");
注意:如果使用較高版本的MySQL,必須使用 com.mysql.cj.jdbc.Driver 的方式,否則會報錯!
Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
如果是低版本的可以使用 com.mysql.jdbc.Driver
如果還是報錯,可以使用在url上面加入時區(qū)!
url=jdbc:mysql://localhost:3306/數(shù)據(jù)庫名?serverTimezone=UTC
(3)獲取連接
String url = "jdbc:mysql://localhost:3306/db1"; Connection con = DriverManager.getConnection(url,"root","888888");
(4)獲取執(zhí)行者對象
Statement stat = con.createStatement();
(5)執(zhí)行sql語句,并接收返回結(jié)果
String sql = "SELECT * FROM user"; ResultSet rs = stat.executeQuery(sql);
(6)處理結(jié)果
while(rs.next()) { System.out.println( rs.getInt("id") + "\t" + rs.getString("name")); }
(7)釋放資源
con.close(); stat.close(); rs.close();
JDBC入門示例代碼
Connection對象中的用戶名,數(shù)據(jù)庫名,密碼改成你自己的哦!
public class jdbc_demo01 { public static void main(String[] args) throws ClassNotFoundException, SQLException { // 1.導(dǎo)入jar包 // 2.注冊驅(qū)動 Class.forName("com.mysql.cj.jdbc.Driver"); // 3.獲取連接 String url = "jdbc:mysql://localhost:3306/db1"; Connection con = DriverManager.getConnection(url,"root","888888"); // 4.獲取執(zhí)行者對象 Statement stat = con.createStatement(); // 5.執(zhí)行sql語句,并且接收結(jié)果 String sql = "SELECT * FROM product"; ResultSet rs = stat.executeQuery(sql); // 6.處理結(jié)果 while(rs.next()) { System.out.println( rs.getInt("id") + "\t" + rs.getString("name") + "\t" + rs.getInt("price") + "\t" + rs.getString("brand") + "\t" + rs.getInt("stock") ); } // 7。釋放資源 con.close(); stat.close(); rs.close(); } }
結(jié)果如下:
到此這篇關(guān)于MySQL實(shí)現(xiàn)JDBC詳細(xì)講解的文章就介紹到這了,更多相關(guān)mysql JDBC內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL數(shù)據(jù)庫INNODB表損壞修復(fù)處理過程分享
突然收到MySQL報警,從庫的數(shù)據(jù)庫掛了,一直在不停的重啟,打開錯誤日志,發(fā)現(xiàn)有張表壞了。innodb表損壞不能通過repair table 等修復(fù)myisam的命令操作?,F(xiàn)在記錄下解決過程2013-08-08MySql 字符串中提取數(shù)字的實(shí)現(xiàn)示例
在MySQL中,有時需要從字符串中提取數(shù)字,本文就來介紹一下MySql 字符串中提取數(shù)字的實(shí)現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下2023-09-09- 在講MySQL的Join語法前還是先回顧一下聯(lián)結(jié)的語法,呵呵,其實(shí)連我自己都忘得差不多了,那就大家一起溫習(xí)吧,這里我有個比較簡便的記憶方法,內(nèi)外聯(lián)結(jié)的區(qū)別是內(nèi)聯(lián)結(jié)將去除所有不符合條件的記錄,而外聯(lián)結(jié)則保留其中部分。外左聯(lián)結(jié)與外右聯(lián)結(jié)的區(qū)別在于如果用A左聯(lián)結(jié)B則A中所有記錄都會保留在結(jié)果中,此時B中只有符合聯(lián)結(jié)條件的記錄,而右聯(lián)結(jié)相反,這樣也就不會混淆了。2014-05-05