亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MySQL > 正文

myeclipse中連接mysql數據庫示例代碼

2024-07-24 13:10:48
字體:
來源:轉載
供稿:網友

1. 環境配置

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

在安裝后的軟件包中,mysql_server/Connector 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語言連接數據庫的技術。

2.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.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個參數為1980prest.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("連接失敗");  } }}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
中文字幕亚洲欧美一区二区三区| 久久综合亚洲社区| 国产精品嫩草影院久久久| 亚洲第一精品福利| 成人自拍性视频| 国产在线a不卡| 欧美高清视频在线观看| 日韩一区二区三区xxxx| 亚洲第一页在线| 亚洲精品一区在线观看香蕉| 久久久久国色av免费观看性色| 国产69久久精品成人看| 亚洲影院污污.| 日本欧美精品在线| 久久成人这里只有精品| 久久久久久久久91| 疯狂做受xxxx欧美肥白少妇| 中文一区二区视频| 久久91精品国产91久久久| 亚洲一区二区中文| 九九久久久久久久久激情| 亚洲免费视频网站| 色综合视频一区中文字幕| 欧美成人免费播放| 日韩欧美国产高清91| 国产一区二区三区欧美| 成人a免费视频| 国产啪精品视频网站| 欧美高清视频在线| 亚洲成人网在线| 中文一区二区视频| 欧美另类69精品久久久久9999| 国产小视频国产精品| 亚洲一区二区三区sesese| 日韩电影免费观看在线观看| 久久伊人免费视频| 97国产精品视频| 成人激情电影一区二区| 国产免费久久av| 成人午夜激情免费视频| 欧美猛少妇色xxxxx| 成人h视频在线观看播放| 欧美在线观看一区二区三区| 欧美在线观看www| 亚洲最新视频在线| 国产成人91久久精品| 粗暴蹂躏中文一区二区三区| 69久久夜色精品国产69乱青草| 国产一区二区精品丝袜| 91精品国产高清久久久久久| 日韩中文字幕精品| 久久久噜噜噜久久| 欧美激情在线播放| 国产丝袜一区二区三区| 久久人人爽亚洲精品天堂| 欧美中文在线观看国产| 国产福利视频一区| 色偷偷av一区二区三区| 欧美激情国内偷拍| 国产色婷婷国产综合在线理论片a| 久热精品视频在线免费观看| 久久国产天堂福利天堂| 91av视频在线免费观看| 亚洲视频网站在线观看| 国产亚洲欧洲高清一区| 岛国av一区二区三区| 热久久这里只有精品| 日韩在线视频观看| 中文字幕av一区二区| 久久精品视频一| 亚洲第一视频网| 欧美亚洲成人xxx| 国产精品99一区| 欧美精品激情blacked18| 亚洲有声小说3d| 亚洲欧美在线第一页| 成人黄色av免费在线观看| 欧美精品一区二区免费| 一区二区欧美久久| 欧美在线亚洲一区| 久久亚洲精品国产亚洲老地址| 亚洲成年网站在线观看| 成人h视频在线| 日韩欧美999| 一区二区三区 在线观看视| 在线观看国产精品淫| 韩国视频理论视频久久| 日韩av片免费在线观看| 成人黄色大片在线免费观看| 精品久久久久久久中文字幕| 狠狠躁天天躁日日躁欧美| 日韩av在线网站| 国产午夜精品全部视频在线播放| 欧美大片在线影院| 成人黄色激情网| 国产欧美在线看| 日韩欧美黄色动漫| 日韩美女在线看| 欧美大片va欧美在线播放| 精品国产一区二区三区久久久| 日韩av免费网站| 日韩欧美国产一区二区| 狠狠躁18三区二区一区| 国产精品第三页| 在线日韩日本国产亚洲| 在线播放国产一区中文字幕剧情欧美| 亚洲精品综合精品自拍| 日韩欧美有码在线| 国产成人精品视频在线观看| 欧美电影免费观看高清| 2018中文字幕一区二区三区| 97精品视频在线观看| 欧美日韩国产色视频| 一本色道久久综合亚洲精品小说| 国产精品成av人在线视午夜片| 国产成人在线一区二区| 丝袜一区二区三区| 欧洲成人午夜免费大片| 久久夜色精品国产亚洲aⅴ| 亚洲精品欧美日韩专区| 日韩亚洲欧美中文在线| 亚洲成在人线av| 欧美成人性色生活仑片| 91视频-88av| 欧美人交a欧美精品| 国产日韩欧美在线观看| 亚洲精品国产精品乱码不99按摩| 久久久精品视频成人| 78m国产成人精品视频| 国内精品久久久久| 欧美精品videossex88| 国产美女精品视频免费观看| 免费91麻豆精品国产自产在线观看| 久久99视频免费| 亚洲免费视频网站| 福利精品视频在线| 亚洲丝袜在线视频| 欧美自拍视频在线观看| 日韩高清电影好看的电视剧电影| 精品少妇一区二区30p| 亚洲欧美日韩在线高清直播| 亚洲人成电影网| 中文字幕av一区二区三区谷原希美| 77777亚洲午夜久久多人| 欧美性感美女h网站在线观看免费| 亚洲国产成人在线视频| www.欧美免费| 久久99国产综合精品女同| 亚洲国模精品私拍| 国产在线视频91| 精品亚洲一区二区| 欧美xxxx综合视频| 97福利一区二区| 久久久久久久久网站| 亚洲国产高清福利视频| 欧美日韩成人免费| 日韩欧美成人精品| 久久婷婷国产麻豆91天堂| 亚洲精品久久久久久下一站| 国产日产欧美a一级在线| 九九视频直播综合网| 欧美成人在线网站| 国产精品成人aaaaa网站| 日韩欧美中文第一页|