目錄
1. JDBC簡介
2. JDBC項目
3. JDBC的導(dǎo)入
4. JDBC的使用
內(nèi)容
JDBC簡介
- 什么是JDBC
JDBC的全稱是Java數(shù)據(jù)庫連接(Java Database connect),它是一套用于執(zhí)行SQL語句的Java API。應(yīng)用程序可通過這套API連接到關(guān)系數(shù)據(jù)庫,并使用SQL語句來完成對數(shù)據(jù)庫中數(shù)據(jù)的查詢、更新和刪除等操作。
2.什么是mysql-connector-java
mysql-connector-java 是MySQL的JDBC驅(qū)動包,用JDBC連接MySQL數(shù)據(jù)庫時必須使用該jar包。
JDBC項目
-
打開IDEA新建項目,填寫項目名,選擇項目路徑
-
按照J(rèn)ava代碼書寫規(guī)范創(chuàng)建一個包并創(chuàng)建一個類
JDBC的導(dǎo)入
-
下載JDBC(MySQL版)
-
跳轉(zhuǎn)至版本選擇頁面
-
選擇版本下載
-
解壓mysql-connector-java-8.0.25.zip,生成mysql-connector-java-8.0.25
-
在JDBC項目所在目錄下創(chuàng)建lib文件夾
-
打開mysql-connector-java-8.0.25目錄,復(fù)制mysql-connector-java-8.0.25.jar
-
把mysql-connector-java-8.0.25.jar粘貼到lib目錄下
-
打開項目,點擊File->Project Structure
-
點擊Libraries -> + ->Java
-
選擇lib目錄下的mysql-connector-java-8.0.25.jar
-
點擊ok
-
點擊ok
-
查看mysql-connector-java-8.0.25.jar是否導(dǎo)入成功
JDBC的使用
- 必須提前安裝MySQL并且MySQL可用
- 加載MySQL驅(qū)動程序
package com.example.aji;
public class Main {
public static void main(String[] args) {
try {
//加載MySQL驅(qū)動程序
Class.forName("com.mysql.cj.jdbc.Driver");
}catch (Exception e){
e.printStackTrace();
}
//打印出Hello world!表名驅(qū)動程序加載成功
System.out.println("Hello world!");
}
}
-
DriverManager類
管理一組JDBC驅(qū)動程序的基本服務(wù)。一些常用方法:- getConnection?(String url, String user, String password)
嘗試建立與給定數(shù)據(jù)庫URL的連接。
package com.example.aji; import java.sql.DriverManager; public class Main { public static void main(String[] args) { try { Class.forName("com.mysql.cj.jdbc.Driver"); //mysql數(shù)據(jù)庫相關(guān)信息 String url="jdbc:mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=utf-8"; String user="root"; String password="123456789"; DriverManager.getConnection(url,user,password); }catch (Exception e){ e.printStackTrace(); } System.out.println("Hello world!"); } }
- getConnection?(String url, String user, String password)
-
Connection類
Connection與特定數(shù)據(jù)庫的連接(會話)。 執(zhí)行SQL語句并在連接的上下文中返回結(jié)果。Connection對象的數(shù)據(jù)庫能夠提供描述其表,其支持的SQL語法,其存儲過程,此連接的功能等的信息。 一些常用方法:-
close()
立即釋放此 Connection對象的數(shù)據(jù)庫和JDBC資源,而不是等待它們自動釋放。 -
createStatement()
創(chuàng)建一個 Statement對象,用于將SQL語句發(fā)送到數(shù)據(jù)庫。
package com.example.aji; import java.sql.Connection; import java.sql.DriverManager; public class Main { public static void main(String[] args) { try { Class.forName("com.mysql.cj.jdbc.Driver"); //mysql數(shù)據(jù)庫相關(guān)信息 String url="jdbc:mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=utf-8"; String user="root"; String password="123456789"; Connection connection = DriverManager.getConnection(url,user,password); connection.close(); }catch (Exception e){ e.printStackTrace(); } System.out.println("Hello world!"); } }
- 更多
-
-
Statement類
用于執(zhí)行靜態(tài)SQL語句并返回其生成的結(jié)果的對象。一些常用方法:-
close()
立即釋放此 Statement對象的數(shù)據(jù)庫和JDBC資源,而不是等待它自動關(guān)閉時發(fā)生。文章來源:http://www.zghlxwxcb.cn/news/detail-711623.html -
executeUpdate?(String sql)
執(zhí)行給定的SQL語句,這可能是 INSERT , UPDATE ,或 DELETE語句,或者不返回任何內(nèi)容,如SQL DDL語句的SQL語句。
package com.example.aji; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; public class Main { public static void main(String[] args) { try { Class.forName("com.mysql.cj.jdbc.Driver"); //mysql數(shù)據(jù)庫相關(guān)信息 String url="jdbc:mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=utf-8"; String user="root"; String password="123456789"; Connection connection = DriverManager.getConnection(url,user,password); Statement statement = connection.createStatement(); String updateSql="CREATE TABLE `t_person` (\n" + " `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主鍵',\n" + " `name` varchar(30) NOT NULL COMMENT '姓名',\n" + " `birthdate` datetime NOT NULL COMMENT '出生日期',\n" + " PRIMARY KEY (`id`)\n" + ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;"; int result = statement.executeUpdate(updateSql); System.out.println(result); String insertSql="insert into t_person(name,birthdate) values('aji',now()),('aji',now())"; result = statement.executeUpdate(insertSql); System.out.println(result); statement.close(); connection.close(); }catch (Exception e){ e.printStackTrace(); } System.out.println("Hello world!"); } }
- executeQuery?(String sql)
執(zhí)行給定的SQL語句,該語句返回單個 ResultSet對象。
package com.example.aji; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; import java.sql.ResultSet; public class Main { public static void main(String[] args) { try { Class.forName("com.mysql.cj.jdbc.Driver"); //mysql數(shù)據(jù)庫相關(guān)信息 String url="jdbc:mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=utf-8"; String user="root"; String password="123456789"; Connection connection = DriverManager.getConnection(url,user,password); Statement statement = connection.createStatement(); String querySql="select * from t_person"; ResultSet resultSet = statement.executeQuery(querySql); //打印查詢結(jié)果 while (resultSet.next()) { System.out.print(resultSet.getInt("id")); System.out.print(resultSet.getString("name")); System.out.println(resultSet.getDate("birthdate")); } resultSet.close(); statement.close(); connection.close(); }catch (Exception e){ e.printStackTrace(); } System.out.println("Hello world!"); } }
- execute?(String sql)
執(zhí)行給定的SQL語句并返回boolean值
package com.example.aji; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; import java.sql.ResultSet; public class Main { public static void main(String[] args) { try { Class.forName("com.mysql.cj.jdbc.Driver"); //mysql數(shù)據(jù)庫相關(guān)信息 String url="jdbc:mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=utf-8"; String user="root"; String password="123456789"; Connection connection = DriverManager.getConnection(url,user,password); Statement statement = connection.createStatement(); String querySql="select * from t_person"; ResultSet resultSet = statement.executeQuery(querySql); boolean execute = statement.execute(querySql); //打印查詢結(jié)果 System.out.println(execute); resultSet.close(); statement.close(); connection.close(); }catch (Exception e){ e.printStackTrace(); } System.out.println("Hello world!"); } }
- 更多
-
-
ResultSet類
表示數(shù)據(jù)庫結(jié)果集的數(shù)據(jù)表,通常通過執(zhí)行查詢數(shù)據(jù)庫的語句生成。一些常用方法:-
close()
立即釋放此 Statement對象的數(shù)據(jù)庫和JDBC資源,而不是等待它自動關(guān)閉時發(fā)生。 -
next()
將光標(biāo)從當(dāng)前位置向前移動一行。文章來源地址http://www.zghlxwxcb.cn/news/detail-711623.html
package com.example.aji; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; import java.sql.ResultSet; public class Main { public static void main(String[] args) { try { Class.forName("com.mysql.cj.jdbc.Driver"); //mysql數(shù)據(jù)庫相關(guān)信息 String url="jdbc:mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=utf-8"; String user="root"; String password="123456789"; Connection connection = DriverManager.getConnection(url,user,password); Statement statement = connection.createStatement(); String querySql="select * from t_person"; ResultSet resultSet = statement.executeQuery(querySql); boolean execute = statement.execute(querySql); //打印查詢結(jié)果 System.out.println(execute); resultSet.close(); statement.close(); connection.close(); }catch (Exception e){ e.printStackTrace(); } System.out.println("Hello world!"); } }
- getInt?(String columnLabel)
以Java編程語言中 int此 ResultSet對象的當(dāng)前行中指定列的值。
package com.example.aji; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; import java.sql.ResultSet; public class Main { public static void main(String[] args) { try { Class.forName("com.mysql.cj.jdbc.Driver"); //mysql數(shù)據(jù)庫相關(guān)信息 String url="jdbc:mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=utf-8"; String user="root"; String password="123456789"; Connection connection = DriverManager.getConnection(url,user,password); Statement statement = connection.createStatement(); String querySql="select * from t_person"; ResultSet resultSet = statement.executeQuery(querySql); boolean execute = statement.execute(querySql); //打印查詢結(jié)果 System.out.println(execute); resultSet.close(); statement.close(); connection.close(); }catch (Exception e){ e.printStackTrace(); } System.out.println("Hello world!"); } }
- 更多
-
到了這里,關(guān)于JavaWeb-初識JDBC的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!