数据库 —— 应用程序与数据库的连接
| 目錄 |
JDBC, 全稱為Java DataBase Connectivity standard, 它是一個面向對象的應用程序接口(API), 通過它可訪問各類關系數據庫。JDBC也是java核心類庫的一部分。
JDBC的最大特點是它獨立于具體的關系數據庫。與ODBC (Open Database Connectivity)類似, JDBC API 中定義了一些Java類分別用來表示與數據庫的連接(connections), SQL語句(SQL statements), 結果集(result sets)以及其它的數據庫對象, 使得Java程序能方便地與數據庫交互并處理所得的結果。使用JDBC, 所有Java程序(包括Java applications , applets和servlet)都能通過SQL語句或存儲在數據庫中的過程(stored procedures)來存取數據庫。
要通過JDBC來存取某一特定的數據庫,必須有相應的JDBC driver,它往往是由生產數據庫的廠家提供,是連接JDBC API與具體數據庫之間的橋梁。
通常,Java程序首先使用JDBC API來與JDBC Driver Manager交互,由JDBC Driver Manager載入指定的JDBC drivers, 以后就可以通過JDBC API來存取數據庫。
ODBC(Open Database Connectivity,開放數據庫互連)是微軟公司開放服務結構(WOSA,Windows Open Services Architecture)中有關數據庫的一個組成部分,它建立了一組規范,并提供了一組對數據庫訪問的標準API(應用程序編程接口)。這些API利用SQL來完成其大部分任務。ODBC本身也提供了對SQL語言的支持,用戶可以直接將SQL語句送給ODBC。?
一個基于ODBC的應用程序對數據庫的操作不依賴任何DBMS,不直接與DBMS打交道,所有的數據庫操作由對應的DBMS的ODBC驅動程序完成。也就是說,不論是FoxPro、Access還是Oracle數據庫,均可用ODBC API進行訪問。由此可見,ODBC的最大優點是能以統一的方式處理所有的數據庫。?
?
2、具體實例入門這里提供一個具體的例子,step by step ,為剛剛接觸數據庫的人提供一個更為直觀感性的認識。
我們具體使用 java應用程序連接 mysql 數據庫,整體步驟如下:
1、java 開發環境的準備 2、安裝 java IDE以便開發 (如 Eclipse ) 3、安裝 mysql 數據庫 4、下載 數據庫對應的 jdbc driver 5、將 jdbc driver 庫導入到程序環境中 6、連接測試1、java 開發環境的準備:配置java開發環境——JDK的配置。 步驟網上很多比如:點這里
2、搜索下載合適你系統(64bit/32bit)的IDE, 比如 Eclipse :點這里去搜索
3、下載并安裝mysql數據庫,各個平臺官方下載與安裝教程?
按照安裝教程,設置好默認用戶(root)的密碼,安裝完畢后,可以打開終端命令行登錄數據庫:(更加具體的使用,請訪問 官方使用手冊?)
mysql -u root -p? ? ? 創建待會要測試的數據庫, 并創建要測試的表:
create database test; use test; create table temp(name varchar(20), password varchar(20));這時應該可以使用語句查看到你的表了:
show tables; // 查看當前數據庫所有的表 describe temp; // 查看表的具體字段信息select * from temp; // 查看表的數據4、下載mysql 提供的 jdbc driver ,點這里?( Windows下載?(mysql-connector-java-5.1.40.zip) Linux下載:?(mysql-connector-java-5.1.40.tar.gz))
? ? ?下載好后解壓,任意路徑都可以,不要以后隨便給刪掉就可以。
5、將jdbc driver 庫導入到Eclipse 環境中
? ? 1)在 Eclipse 中建立用戶庫(以后不同的項目,要連接數據庫,直接為工程加入這個用戶庫就好了):
打開Eclipse,進入菜單windows->prefrences,進入Java->Build Path->user libraries,選擇新建,命名為mysql,路徑為:.../mysql-connector-java-5.X.XX-bin.jar
2)?創建java project,命名為testmysql,右鍵項目名稱,選擇Build Path->Add libraries,從列表中選擇user library,在next界面中選擇上面部署的mysql安裝包即可;
6、現在可以開始寫代碼連接剛才的數據庫了。在testmysql工程下新建class,命名為Test.java文件:
public class Test {public static void main(String args[]) {try {Class.forName("com.mysql.jdbc.Driver"); // 加載MYSQL JDBC驅動程序System.out.println("Success loading Mysql Driver!");} catch (Exception e) {System.out.print("Error loading Mysql Driver!");e.printStackTrace();}try {Connection connect = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "XXXXXXX"); //test 為你的數據庫名稱,XXXXXXX 這里改為你自己的密碼System.out.println("Success connect Mysql server!");//插入一行數據PreparedStatement Statement = connect.prepareStatement("INSERT INTO temp(name,password) VALUES(?,?)");Statement.setString(1, "name3");Statement.setString(2, "password3");Statement.executeUpdate();// 獲取temp表的數據來打印Statement stmt = connect.createStatement();ResultSet rs = stmt.executeQuery("select * from temp");// temp 為表的名稱System.out.println("query result:");while (rs.next()) {System.out.println(rs.getString("name")+" :"+rs.getString("password") ); }} catch (Exception e) {System.out.print("get data error!");e.printStackTrace();}} }
運行程序,執行完畢后查看數據庫,此時應該可以看到:
mysql> select * from temp; +-------+-----------+ | name | password | +-------+-----------+ | name3 | password3 | +-------+-----------+ 1 row in set (0.00 sec)?
到這里,例子就講完了,希望對初學者有所幫助 :)
?
轉載于:https://www.cnblogs.com/BensonLaur/p/5423065.html
總結
以上是生活随笔為你收集整理的数据库 —— 应用程序与数据库的连接的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Swift函数_默认参数
- 下一篇: SQL Server 自定义快捷键