利用JDBC连接数据库(MySQL)
1 在eclipse中創建一個maven項目(在Java模式下,不要在JavaEE模式下)
1.1 file ?-->> new ?-->> project
2 下載數據庫驅動包
2.1?在剛剛創建的項目中找到?pom.xml 并單擊打開
2.2 選擇 dependencies -->> add
2.3 在框中輸入 mysql 敲一下回車,然后選擇對應的版本后點擊OK就行啦
(前提是你已經安裝好了maven,并且已經在eclipse中進行了相應的配置)
依賴包下載成功后,在 pom.xml 文件中會顯示相應的信息,也可以直接在 pom.xml 文件中添加代碼來下載相應的驅動包
? 最后記得保存 pom.xml 文件
?
3 在maven項目中新建一個包,再在此包下新建一個類
?
?4 JDBC知識
java數據庫連接.
JDBC是JAVA提供的一套標準連接數據庫的接口;規定了連接數據庫的步驟和功能,
不同的數據庫提供商提供了一套JDBC實現類;他們稱為數據庫驅動.
JDBC的主要接口有:
DriverManager : 用于加載驅動并建立數據庫連接
Connection : 表示與特定數據庫的連接會話
Statement : 用于執行SQL語句
ResultSet : 表示查詢的結果集
通過JDBC操作數據庫是自動進行提交的(當然可以進行手動關閉)
?
5 利用JDBC連接數據庫的步驟
5.1 加載驅動包Cass.forName()
5.2 調用驅動建立連接:Connection -->> 生成類為:DriverManager
5.3 通過連接創建語句對象: Statement
5.4 執行SQL語句:Statement
5.5 若是查詢語句會得到結果集:ResultSet
5.6 遍歷結果集獲取查詢結果
5.7 關閉連接
6 實例之 -->> 創建一個表
1 package day01; 2 3 import java.sql.Connection; 4 import java.sql.DriverManager; 5 import java.sql.Statement; 6 7 /** 8 * JDBC 9 * java數據庫連接. 10 * JDBC是JAVA提供的一套標準連接數據庫的接口;規定了連接數據庫的步驟和功能, 11 * 不同的數據庫提供商提供了一套JDBC實現類;他們稱為數據庫驅動. 12 * JDBC的主要接口有: 13 * DriverManager : 用于加載驅動并建立數據庫連接 14 * Connection : 表示與特定數據庫的連接會話 15 * Statement : 用于執行SQL語句 16 * ResultSet : 表示查詢的結果集 17 * 通過JDBC操作數據庫是自動進行提交的 18 * @author soft01 19 * 20 * 創建表 21 * 22 */ 23 public class Demo01 { 24 public static void main(String[] args){ 25 /* 26 * 使用JDBC連接數據庫的步驟: 27 * 1 加載驅動包Cass.forName() 28 * 2 調用驅動建立連接:Connection -->> 生成類為:DriverManager 29 * 3 通過連接創建語句對象: Statement 30 * 4 執行SQL語句:Statement 31 * 5 若是查詢語句會得到結果集:ResultSet 32 * 6 遍歷結果集獲取查詢結果 33 * 7 關閉連接 34 */ 35 try { 36 37 /* 38 * 1 加載驅動包 39 * 不同數據庫傳入的字符串內容不一致 40 * 1.1 注意: 41 * 若拋出:java.lang.ClassNotFoundException通常有兩種情況導致 42 * 1.1.1 沒有在項目中導入驅動包 43 * 1.1.2 formatName方法中字符串格式有誤 44 */ 45 Class.forName("com.mysql.jdbc.Driver"); //mysql驅動包的固定寫法 46 System.out.println("驅動加載完畢。"); 47 48 /* 49 * 2 通過DriverManager與數據庫建立連接 50 * 使用靜態方法getConnection, 要傳入三個參數 51 * 參數1 數據庫地址,不同數據庫格式不同 52 * 參數2 數據庫用戶名 53 * 參數3 數據庫密碼 54 */ 55 Connection conn = DriverManager.getConnection( 56 "jdbc:mysql://localhost:3306/test", // jdbc:mysql:// + IP + : + 端口 + 數據庫名稱 57 "root", // 用戶名 58 "182838"); // 用戶密碼 59 System.out.println("鏈接成功"); 60 61 /* 62 * 3 創建語句對象 63 * Statement針對不同類型的SQL語句有不同的執行方法 64 * ResultSet executeQuery(String sql) 65 * 用來執行查詢語句(SQL)的方法,返回的是一個查詢結果集 66 * 67 * int executUpdate(String sql) 68 * 用來執行DML語句的方法,返回值為執行了該SQL后影響了數據庫中多少條數據 69 * 70 * boolean execute(String sql) 71 * 可以執行所有類型的SQL語句,但是DQL,DML都有專門的方法,所以該方法通常 72 * 用來執行DDL語句.當返回值為true時表示該SQL語句執行后有結果集,沒有結果集 73 * 的都是返回的false.(并不是根據語句的對錯來返回true或者false) 74 */ 75 Statement state = conn.createStatement(); 76 77 //書寫SQL語句 78 String sql = "CREATE TABLE userinfo_fury(" 79 + " id INT (10) PRIMARY KEY AUTO_INCREMENT, " 80 + " username VARCHAR (30), " 81 + " password VARCHAR (30), " 82 + " email VARCHAR (50), " 83 + " nickname VARCHAR (30), " 84 + " account FLOAT (10, 2) DEFAULT 15600) "; 85 System.out.println(sql); 86 87 //4 執行SQL語句 88 state.execute(sql); 89 System.out.println("執行完畢"); 90 91 state.close(); //關閉語句對象 92 conn.close(); //關閉連接對象 93 94 }catch(Exception e) { 95 e.printStackTrace(); 96 } 97 98 99 } 100 } 創建一個表?
7 實例之 -->> 查詢數據庫表中的數據
1 package test; 2 3 import java.sql.Connection; 4 import java.sql.DriverManager; 5 import java.sql.ResultSet; 6 import java.sql.SQLException; 7 import java.sql.Statement; 8 9 /** 10 * Description: 11 */ 12 public class Test { 13 public static void main(String[] args) { 14 Connection conn = null; 15 try { 16 Class.forName("com.mysql.jdbc.Driver"); //01加載數據庫驅動包 17 conn = DriverManager.getConnection( //02連接數據庫 18 "jdbc:mysql://localhost:3306/test", 19 "root", 20 "182838"); 21 Statement state = conn.createStatement(); //03創建SQL語句對象 22 23 String sql = "SELECT * " //04 拼接SQL語句 24 + "FROM userinfo_fury "; 25 26 ResultSet rs = state.executeQuery(sql); //05 執行SQL語句 27 28 while(rs.next()) { //06 遍歷查詢到的結果集 29 int id = rs.getInt("id"); 30 String username = rs.getString("username"); 31 System.out.println(username + " -->> " + id); 32 } 33 34 }catch (Exception e) { 35 e.printStackTrace(); 36 }finally { 37 if(null != conn) { 38 try { 39 conn.close(); // 07 關閉連接 40 }catch(SQLException e) { 41 e.printStackTrace(); 42 } 43 } 44 } 45 } 46 } 查詢數據庫中表的內容?
8 待改進
8.1 寫一篇博客專門介紹maven的安裝和eclipse配置 -->> 三少有點懶,直接找有昕拿安裝文檔,哈哈哈 ?2017年5月25日15:18:51
8.2 使用數據庫連接池來訪問數據庫【搞懂DBUTil類】?
待更新... 2017年5月25日15:20:02
?
9 問題點
9.1 maven下載包
疑惑點:在eclipse中配置maven時明明已經將阿里云的鏡像更改了,為什么不能夠進行自動下載jar包呢?這個問題困擾三少一周啦,哎,哎,哎...2017年4月5日14:41:50
問題原因:有可能是當時網絡原因導致,多等待一會就行啦;是在不行直接將依賴的相關信息寫到配置文件中,這樣速度就會快很多。2017年5月25日15:16:13
?
轉載于:https://www.cnblogs.com/NeverCtrl-C/p/6668659.html
總結
以上是生活随笔為你收集整理的利用JDBC连接数据库(MySQL)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android模拟器运行慢的解决方案
- 下一篇: 提高SQL执行效率的16种方法