日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

JDBC连接MySQL数据库及演示样例

發布時間:2023/11/27 生活经验 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JDBC连接MySQL数据库及演示样例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JDBC是Sun公司制定的一個能夠用Java語言連接數據庫的技術。

一、JDBC基礎知識 ? ? ? ?

? ? ? ? JDBC(Java Data Base Connectivity,java數據庫連接)是一種用于執行SQL語句的Java API,能夠為多種關系數據庫提供統一訪問,它由一組用Java語言編寫的類和接口組成。JDBC為數據庫開發者提供了一個標準的API,據此能夠構建更高級的工具和接口,使數據庫開發者能夠用純 Java API 編寫數據庫應用程序,而且可跨平臺執行,而且不受數據庫供應商的限制。

1、跨平臺執行:這是繼承了Java語言的“一次編譯,到處執行”的特點;

2、不受數據庫供應商的限制:巧妙在于JDBC設有兩種接口,一個是面向應用程序層,其作用是使得開發者通過SQL調用數據庫和處理結果,而不須要考慮數據庫的提供商;還有一個是驅動程序層,處理與詳細驅動程序的交互,JDBC驅動程序能夠利用JDBC API創建Java程序和數據源之間的橋梁。應用程序僅僅須要編寫一次,便能夠移到各種驅動程序上執行。Sun提供了一個驅動管理器,數據庫供應商——如MySQL、Oracle,提供的驅動程序滿足驅動管理器的要求就能夠被識別,就能夠正常工作。所以JDBC不受數據庫供應商的限制。


? ? ? ? JDBC API能夠作為連接Java應用程序與各種關系數據庫的紐帶,在帶來方便的同一時候也有負面影響,下面是JDBC的優、缺點。長處例如以下:

  • 操作便捷:JDBC使得開發者不須要再使用復雜的驅動器調用命令和函數;
  • 可移植性強:JDBC支持不同的關系數據庫,所以能夠使同一個應用程序支持多個數據庫的訪問,僅僅要載入對應的驅動程序就可以;
  • 通用性好:JDBC-ODBC橋接驅動器將JDBC函數換成ODBC;
  • 面向對象:能夠將經常使用的JDBC數據庫連接封裝成一個類,在使用的時候直接調用就可以。

? ? ? ? 缺點例如以下:

  • 訪問數據記錄的速度受到一定程度的影響;
  • 更改數據源困難:JDBC可支持多種數據庫,各種數據庫之間的操作必有不同,這就給更改數據源帶來了非常大的麻煩


二、JDBC連接數據庫的流程及其原理

1、在開發環境中載入指定數據庫的驅動程序。比如,接下來的實驗中,使用的數據庫是MySQL,所以須要去下載MySQL支持JDBC的驅動程序(最新的是:mysql-connector-java-5.1.18-bin.jar);而開發環境是MyEclipse,將下載得到的驅動程序載入進開發環境中(詳細演示樣例的時候會解說怎樣載入)。


2、在Java程序中載入驅動程序。在Java程序中,能夠通過?“Class.forName(“指定數據庫的驅動程序”)” 方式來載入加入到開發環境中的驅動程序,比如載入MySQL的數據驅動程序的代碼為: ?Class.forName(“com.mysql.jdbc.Driver”)


3、創建數據連接對象:通過DriverManager類創建數據庫連接對象ConnectionDriverManager類作用于Java程序和JDBC驅動程序之間,用于檢查所載入的驅動程序能否夠建立連接,然后通過它的getConnection方法,依據數據庫的URL、username和password,創建一個JDBC Connection 對象。如:Connection connection = ?DriverManager.geiConnection(“連接數據庫的URL", "username", "password”)。當中,URL=協議名+IP地址(域名)+port+數據庫名稱;username和password是指登錄數據庫時所使用的username和password。詳細演示樣例創建MySQL的數據庫連接代碼例如以下:

? ? ? ? ? ? ? Connection connectMySQL ?= ?DriverManager.geiConnection(“jdbc:mysql://localhost:3306/myuser","root" ,"root" );


4、創建Statement對象:Statement 類的主要是用于運行靜態 SQL 語句并返回它所生成結果的對象。通過Connection 對象的 createStatement()方法能夠創建一個Statement對象。比如:Statement statament = connection.createStatement();?詳細演示樣例創建Statement對象代碼例如以下:

? ? ? ? ? ? ?Statement statamentMySQL =connectMySQL.createStatement();?


5、調用Statement對象的相關方法運行相相應的 SQL 語句:通過execuUpdate()方法用來數據的更新,包含插入和刪除等操作,比如向staff表中插入一條數據的代碼:

? ? ? ?statement.excuteUpdate(?"INSERT INTO staff(name, age, sex,address, depart, worklen,wage)"?+ " VALUES ('Tom1', 321, 'M', 'china','Personnel','3','3000' ) ") ;?

通過調用Statement對象的executeQuery()方法進行數據的查詢,而查詢結果會得到 ResulSet對象,ResulSet表示運行查詢數據庫后返回的數據的集合,ResulSet對象具有能夠指向當前數據行的指針。通過該對象的next()方法,使得指針指向下一行,然后將數據以列號或者字段名取出。假設當next()方法返回null,則表示下一行中沒有數據存在。使用演示樣例代碼例如以下:

? ? ? ?ResultSet resultSel = statement.executeQuery(?"select * from staff"?);


6、關閉數據庫連接:使用完數據庫或者不須要訪問數據庫時,通過Connection的close()?方法及時關閉數據連接。


三、JDBC應用演示樣例實驗

實驗內容:使用phpMyAdmin在MySQL中創建數據庫(myuser),并加入實驗所需的數據(新建staff表,加入一些記錄);編寫Java程序,利用JDBC連接在MySQL中創建好的數據庫(myuser),對staff表格進行插入、更新、刪除和查詢等操作。

實驗環境及開發工具:Win7操作系統;jdk1.6.0_26;XAMPP1.7.7(MySQL 5.1,??phpMyAdmin);MyEclipse 8.5

實驗環境的搭建:可參考我的博客

  • Java環境搭配:http://blog.csdn.net/cxwen78/article/details/6400798;
  • windows系統XAMPP安裝配置使用:http://blog.csdn.net/cxwen78/article/details/6847927


實驗過程及步驟:

? ? ? ? 1、下載MySQL支持JDBC的驅動程序:假設已經有了,可跳過這一步。前往MySQL官網(http://www.mysql.com/products/connector/?)下載驅動程序,,MySQL針對不同的平臺提供了不同的連接器,我們須要的是DBC Driver for MySQL (Connector/J),例如以下圖所看到的,點擊 Download 跟著站點的引導進行下載。打開下載得到的壓縮包(mysql-connector-java-5.1.18.zip),將當中的Java包(mysql-connector-java-5.1.18-bin.jar),拷貝到MySQL文件夾下(僅是為了方便才放到這里),以備載入驅動程序時使用。







? ? ? ? 2、創建數據庫:使用phpMyAdmin,登錄MySQL,創建數據庫myuser,并在當中插入一個名為staff的表格。并加入一些數據,操作步驟如圖,登錄進去MySQL數據庫后:

? ? ? ? ? ? ? ?1)創建數據庫,名稱為myuser,編碼為utf8_general_ci(支持中文);


? ? ? ? ? ? ? 2)新建表格,名稱為staff,表格有8個字段;

? ? ? ? ? ? ? ? ? 3)8個字段的設置,包含名稱、類型、值的長度、初始值、編碼等等(點擊查看大圖);


? ? ? ? ? ? ? ? 4)加入成功后,查看的staff表格情況:


? ? ? ? ? ? ? ??5)往表格中插入一些實驗所需數據,須要插入兩條,一個是員工lucy的,還有lili的:




? ? ? ? 3、在MyEclips中創建項目并在項目中加入MySQL驅動程序:創建的項目類型能夠是Java項目或者是Java Web項目都能夠。這里創建的是Web項目,項目名稱能夠隨便取,我命名為“JavaWebChp07”。創建成功后將步驟1里下載得到的MySQL驅動程序包(mysql-connector-java-5.1.18-bin.jar)加入到project的Build path中,加入過程如圖所看到的:








? ? ? ? 4、編寫JDBC連接MySQL數據庫的實例詳細代碼,JDBC_Test.java:



詳細代碼:

<pre name="code" class="java">package chp07;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;public class JDBC_Test {// 創建靜態全局變量static Connection conn;static Statement st;public static void main(String[] args) {insert();	//插入加入記錄update();	//更新記錄數據delete();	//刪除記錄query();	//查詢記錄并顯示}/* 插入數據記錄,并輸出插入的數據記錄數*/public static void insert() {conn = getConnection();	// 首先要獲取連接,即連接到數據庫try {String sql = "INSERT INTO staff(name, age, sex,address, depart, worklen,wage)"+ " VALUES ('Tom1', 32, 'M', 'china','Personnel','3','3000')";	// 插入數據的sql語句st = (Statement) conn.createStatement();	// 創建用于運行靜態sql語句的Statement對象int count = st.executeUpdate(sql);	// 運行插入操作的sql語句,并返回插入數據的個數System.out.println("向staff表中插入 " + count + " 條數據");	//輸出插入操作的處理結果conn.close();	//關閉數據庫連接} catch (SQLException e) {System.out.println("插入數據失敗" + e.getMessage());}}/* 更新符合要求的記錄,并返回更新的記錄數目*/public static void update() {conn = getConnection();	//相同先要獲取連接,即連接到數據庫try {String sql = "update staff set wage='2200' where name = 'lucy'";// 更新數據的sql語句st = (Statement) conn.createStatement();	//創建用于運行靜態sql語句的Statement對象,st屬局部變量int count = st.executeUpdate(sql);// 運行更新操作的sql語句,返回更新數據的個數System.out.println("staff表中更新 " + count + " 條數據");		//輸出更新操作的處理結果conn.close();	//關閉數據庫連接} catch (SQLException e) {System.out.println("更新數據失敗");}}/* 查詢數據庫,輸出符合要求的記錄的情況*/public static void query() {conn = getConnection();	//相同先要獲取連接,即連接到數據庫try {String sql = "select * from staff";		// 查詢數據的sql語句st = (Statement) conn.createStatement();	//創建用于運行靜態sql語句的Statement對象,st屬局部變量ResultSet rs = st.executeQuery(sql);	//運行sql查詢語句,返回查詢數據的結果集System.out.println("最后的查詢結果為:");while (rs.next()) {	// 推斷是否還有下一個數據// 依據字段名獲取對應的值String name = rs.getString("name");int age = rs.getInt("age");String sex = rs.getString("sex");String address = rs.getString("address");String depart = rs.getString("depart");String worklen = rs.getString("worklen");String wage = rs.getString("wage");//輸出查到的記錄的各個字段的值System.out.println(name + " " + age + " " + sex + " " + address+ " " + depart + " " + worklen + " " + wage);}conn.close();	//關閉數據庫連接} catch (SQLException e) {System.out.println("查詢數據失敗");}}/* 刪除符合要求的記錄,輸出情況*/public static void delete() {conn = getConnection();	//相同先要獲取連接,即連接到數據庫try {String sql = "delete from staff  where name = 'lili'";// 刪除數據的sql語句st = (Statement) conn.createStatement();	//創建用于運行靜態sql語句的Statement對象,st屬局部變量int count = st.executeUpdate(sql);// 運行sql刪除語句,返回刪除數據的數量System.out.println("staff表中刪除 " + count + " 條數據\n");	//輸出刪除操作的處理結果conn.close();	//關閉數據庫連接} catch (SQLException e) {System.out.println("刪除數據失敗");}}/* 獲取數據庫連接的函數*/public static Connection getConnection() {Connection con = null;	//創建用于連接數據庫的Connection對象try {Class.forName("com.mysql.jdbc.Driver");// 載入Mysql數據驅動con = DriverManager.getConnection("jdbc:mysql://localhost:3306/myuser", "root", "root");// 創建數據連接} catch (Exception e) {System.out.println("數據庫連接失敗" + e.getMessage());}return con;	//返回所建立的數據庫連接}
}

 

項目部署到server,然后執行結果:

http://www.5678520.com/kaiwangdian/130.html?

http://www.5678520.com/kaiwangdian/129.html?

http://www.5678520.com/kaiwangdian/128.html?

http://www.5678520.com/kaiwangdian/127.html?

http://www.5678520.com/kaiwangdian/126.html?

http://www.lianzhiwei.com/News/389/20122116.html?

http://www.lianzhiwei.com/News/389/20122115.html?

http://www.lianzhiwei.com/News/389/20122114.html?

http://www.lianzhiwei.com/News/389/20122113.html?

http://www.lianzhiwei.com/News/389/20122112.html?

 
 
 
 
 

轉載于:https://www.cnblogs.com/mfrbuaa/p/4003567.html

總結

以上是生活随笔為你收集整理的JDBC连接MySQL数据库及演示样例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。