黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 Eclipse連接mysql數據庫的示例代碼

Eclipse連接mysql數據庫的示例代碼

更新時間:2021-07-13 16:25:18 來源:動力節點 瀏覽1506次

1.環境配置

下載地址:http://www.mysql.com/downloads/mysql/真麻煩,下載的話還需要注冊和登錄以及填個表。上面的信息還挺全的,亂填的信息也是可以接受的~~下載后按提示安裝即可,最后設置登錄mysql用的密碼。安裝完成后,測試連接數據庫。在開始-程序中點擊MYSQL5.5 Command Line cilent,輸入剛才設定的密碼后,應該后就能連上mysql服務器了。

在安裝后的軟件包中,mysql_serverConnector J XXXX中可以找到一個jar包,這個jar包是java程序連接mysql數據庫必須的。若沒有這個包,程序代碼將提示:ClassNotFoundExceptioncom.mysql.jdbc.Driver的錯誤。

新建一個java項目,并在項目中新建一個存放jar包的文件夾(如lib),將mysql-connector-java-X.X.X-bin.jar復制到文件夾中,選中jar包右擊--->Build Path--->Add To Build Path,即可。若新建的是一個web項目,而放在WEB-INF下的lib文件夾中即可。

2.JDBC介紹

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

(1)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可支持多種數據庫,各種數據庫之間的操作必有不同,這就給更改數據源帶來了很大的麻煩

(2)JDBC連接數據庫的流程及其原理

1)在開發環境中加載指定數據庫的驅動程序。例如,接下來的實驗中,使用的數據庫是MySQL,所以需要去下載MySQL支持JDBC的驅動程序;而開發環境是MyEclipse,將下載得到的驅動程序加載進開發環境中(具體示例的時候會講解如何加載)。

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

3)創建數據連接對象:通過DriverManager類創建數據庫連接對象Connection。DriverManager類作用于Java程序和JDBC驅動程序之間,用于檢查所加載的驅動程序是否可以建立連接,然后通過它的getConnection方法,根據數據庫的URL、用戶名和密碼,創建一個JDBC Connection對象。如:Connection connection=DriverManager.getConnection(“連接數據庫的URL","用戶名","密碼”)。其中,URL=協議名+IP地址(域名)+端口+數據庫名稱;用戶名和密碼是指登錄數據庫時所使用的用戶名和密碼。具體示例創建MySQL的數據庫連接代碼如下:

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

4) 創建Statement對象:Statement 類的主要是用于執行靜態 SQL 語句并返回它所生成結果的對象。通過Connection 對象的 createStatement()方法可以創建一個Statement對象。例如:Statement statament = connection.createStatement(); 具體示例創建Statement對象代碼如下:

Statement statamentMySQL =connectMySQL.createStatement();

另外,一般情況下都可以使用PreparedStatement來代碼Statement,因數PreparedStatement可以防止SQL注入攻擊,防止數據庫緩沖池溢出,代碼的可讀性,可維護性。具體示例創建PreparedStatement代碼如下:

String sql = "Select title, year_made from movies where year_made >= ? and year_made <= ?";

?PreparedStatement ps =connectMySQL.prepareStatement(sql);

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' ) ") ;

若使用PreparedStatement,則:

prest.setInt(1,1980); //表示第1個參數為1980
prest.setInt(2,2004);
ResultSet rs = prest.executeQuery();

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

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

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

3.測試代碼

配置好環境后,就可以寫代碼測試是否能連通啦!

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
 
public class TestMysqlConn {
 public static void main(String[] args) {
  Connection con; 
  Statement stmt; 
  ResultSet rs;
   
  try {
   Class.forName("com.mysql.jdbc.Driver").newInstance(); 
 
       //test為數據庫名,_test為表名。_test表中有三個字段:id name description
   con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test","root","root");
 
   stmt = con.createStatement(); 
 
   rs = stmt.executeQuery("select * from _test"); 
    
   while(rs.next()){
   int num = rs.getInt("id");
   String name = rs.getString("name");
   String des = rs.getString("description");
   System.out.println(num + " " + name + " " + des);
  }
   stmt.close();
  conn.close();
  } catch (Exception e) {
   e.printStackTrace();
   System.out.println("連接失敗");
  }
 }
}

以上就是動力節點小編介紹的"Eclipse連接mysql數據庫的示例代碼",希望對大家有幫助,想了解更多可查看Java基礎教程,如有疑問,請在線咨詢,有專業老師隨時為您服務。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 北条麻妃中文字幕在线观看 | 免费三级黄色片 | 中文毛片无遮挡高清免费 | 成人禁在线观看网站 | 欧美中文字幕在线播放 | 免费a一毛片| 日韩午夜视频在线观看 | 日韩不卡一区二区 | 国产一级特黄a大片99 | 亚洲人成网站色7799在线播放 | 日本亚洲欧美美色 | 视频在线观看你懂的 | 国产午夜精品片一区二区三区 | 日韩一级精品久久久久 | 91po国产在线精品免费观看 | 久久久午夜视频 | 看免费黄色大片 | 波霸欧美性猛交xxxxxx | 欧美精品中文 | 亚洲人成网男女大片在线播放 | 国产精品伦理久久久久久 | 在线 中文字幕 日韩 欧美 | 亚洲一区精品在线 | 欧美青青| 777色狠狠一区二区三区香蕉 | 亚洲伦理一二三四 | 2022久久国产精品免费热麻豆 | 中文字幕2区| 日韩在线观看视频黄 | 亚洲国产天堂久久综合网站 | 被窝国产理论一二三影院 | 色综合天天综合中文网 | 成年男女男免费视频网站不卡 | 一区二区国产在线观看 | 97精品视频在线 | 午夜视频在线观看国产 | 欧美黄色一级片视频 | 中文字幕2区 | 久久成人亚洲香蕉草草 | 婷婷伊人网 | 亚洲欧美一区二区三区国产精品 |