亚洲 国产精品 日韩-亚洲 激情-亚洲 欧美 91-亚洲 欧美 成人日韩-青青青草视频在线观看-青青青草影院

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > java查詢mysql數據庫

java查詢mysql數據庫

來源:千鋒教育
發布人:xqq
時間: 2024-03-31 08:37:22 1711845442

Java查詢MySQL數據庫

_x000D_

Java是一種廣泛使用的編程語言,而MySQL是一種流行的開源關系型數據庫管理系統。Java與MySQL的結合,可以讓我們更輕松地操作和管理數據庫。在Java中,我們可以使用JDBC(Java Database Connectivity)來連接和操作MySQL數據庫。本文將介紹如何使用Java查詢MySQL數據庫。

_x000D_

連接MySQL數據庫

_x000D_

在使用Java查詢MySQL數據庫之前,我們需要先連接數據庫。我們需要下載MySQL的JDBC驅動程序。可以從MySQL官方網站下載,也可以從Maven倉庫中獲取。

_x000D_

在Java中,我們可以使用以下代碼連接MySQL數據庫:

_x000D_

`java

_x000D_

import java.sql.Connection;

_x000D_

import java.sql.DriverManager;

_x000D_

import java.sql.SQLException;

_x000D_

public class MySQLJDBC {

_x000D_

public static void main(String[] args) {

_x000D_

// JDBC驅動程序類名和數據庫URL

_x000D_

final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";

_x000D_

final String DB_URL = "jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC";

_x000D_

// 數據庫用戶和密碼

_x000D_

final String USER = "root";

_x000D_

final String PASS = "password";

_x000D_

Connection conn = null;

_x000D_

try {

_x000D_

// 注冊JDBC驅動程序

_x000D_

Class.forName(JDBC_DRIVER);

_x000D_

// 打開連接

_x000D_

System.out.println("連接數據庫...");

_x000D_

conn = DriverManager.getConnection(DB_URL, USER, PASS);

_x000D_

// 執行查詢

_x000D_

// ...

_x000D_

} catch (ClassNotFoundException e) {

_x000D_

e.printStackTrace();

_x000D_

} catch (SQLException e) {

_x000D_

e.printStackTrace();

_x000D_

} finally {

_x000D_

try {

_x000D_

if (conn != null) {

_x000D_

conn.close();

_x000D_

}

_x000D_

} catch (SQLException e) {

_x000D_

e.printStackTrace();

_x000D_

}

_x000D_

}

_x000D_

}

_x000D_ _x000D_

在上面的代碼中,我們首先定義了JDBC驅動程序類名和數據庫URL。然后,我們使用Class.forName()方法注冊JDBC驅動程序。接著,使用DriverManager.getConnection()方法打開數據庫連接。在finally塊中關閉連接。

_x000D_

執行查詢

_x000D_

連接MySQL數據庫后,我們就可以執行查詢了。在Java中,我們可以使用StatementPreparedStatement對象執行查詢。Statement對象用于執行靜態SQL語句,而PreparedStatement對象用于執行動態SQL語句。

_x000D_

以下是使用Statement對象執行查詢的示例代碼:

_x000D_

`java

_x000D_

import java.sql.Connection;

_x000D_

import java.sql.DriverManager;

_x000D_

import java.sql.ResultSet;

_x000D_

import java.sql.SQLException;

_x000D_

import java.sql.Statement;

_x000D_

public class MySQLJDBC {

_x000D_

public static void main(String[] args) {

_x000D_

// JDBC驅動程序類名和數據庫URL

_x000D_

final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";

_x000D_

final String DB_URL = "jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC";

_x000D_

// 數據庫用戶和密碼

_x000D_

final String USER = "root";

_x000D_

final String PASS = "password";

_x000D_

Connection conn = null;

_x000D_

Statement stmt = null;

_x000D_

ResultSet rs = null;

_x000D_

try {

_x000D_

// 注冊JDBC驅動程序

_x000D_

Class.forName(JDBC_DRIVER);

_x000D_

// 打開連接

_x000D_

System.out.println("連接數據庫...");

_x000D_

conn = DriverManager.getConnection(DB_URL, USER, PASS);

_x000D_

// 執行查詢

_x000D_

System.out.println("創建Statement對象...");

_x000D_

stmt = conn.createStatement();

_x000D_

String sql = "SELECT id, name, age FROM users";

_x000D_

rs = stmt.executeQuery(sql);

_x000D_

// 處理結果集

_x000D_

while (rs.next()) {

_x000D_

int id = rs.getInt("id");

_x000D_

String name = rs.getString("name");

_x000D_

int age = rs.getInt("age");

_x000D_

System.out.println("ID: " + id + ", Name: " + name + ", Age: " + age);

_x000D_

}

_x000D_

} catch (ClassNotFoundException e) {

_x000D_

e.printStackTrace();

_x000D_

} catch (SQLException e) {

_x000D_

e.printStackTrace();

_x000D_

} finally {

_x000D_

try {

_x000D_

if (rs != null) {

_x000D_

rs.close();

_x000D_

}

_x000D_

if (stmt != null) {

_x000D_

stmt.close();

_x000D_

}

_x000D_

if (conn != null) {

_x000D_

conn.close();

_x000D_

}

_x000D_

} catch (SQLException e) {

_x000D_

e.printStackTrace();

_x000D_

}

_x000D_

}

_x000D_

}

_x000D_ _x000D_

在上面的代碼中,我們首先創建了一個Statement對象。然后,使用executeQuery()方法執行查詢語句,并將結果存儲在ResultSet對象中。在while循環中處理結果集。

_x000D_

以下是使用PreparedStatement對象執行查詢的示例代碼:

_x000D_

`java

_x000D_

import java.sql.Connection;

_x000D_

import java.sql.DriverManager;

_x000D_

import java.sql.PreparedStatement;

_x000D_

import java.sql.ResultSet;

_x000D_

import java.sql.SQLException;

_x000D_

public class MySQLJDBC {

_x000D_

public static void main(String[] args) {

_x000D_

// JDBC驅動程序類名和數據庫URL

_x000D_

final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";

_x000D_

final String DB_URL = "jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC";

_x000D_

// 數據庫用戶和密碼

_x000D_

final String USER = "root";

_x000D_

final String PASS = "password";

_x000D_

Connection conn = null;

_x000D_

PreparedStatement pstmt = null;

_x000D_

ResultSet rs = null;

_x000D_

try {

_x000D_

// 注冊JDBC驅動程序

_x000D_

Class.forName(JDBC_DRIVER);

_x000D_

// 打開連接

_x000D_

System.out.println("連接數據庫...");

_x000D_

conn = DriverManager.getConnection(DB_URL, USER, PASS);

_x000D_

// 執行查詢

_x000D_

System.out.println("創建PreparedStatement對象...");

_x000D_

String sql = "SELECT id, name, age FROM users WHERE id = ?";

_x000D_

pstmt = conn.prepareStatement(sql);

_x000D_

pstmt.setInt(1, 1);

_x000D_

rs = pstmt.executeQuery();

_x000D_

// 處理結果集

_x000D_

while (rs.next()) {

_x000D_

int id = rs.getInt("id");

_x000D_

String name = rs.getString("name");

_x000D_

int age = rs.getInt("age");

_x000D_

System.out.println("ID: " + id + ", Name: " + name + ", Age: " + age);

_x000D_

}

_x000D_

} catch (ClassNotFoundException e) {

_x000D_

e.printStackTrace();

_x000D_

} catch (SQLException e) {

_x000D_

e.printStackTrace();

_x000D_

} finally {

_x000D_

try {

_x000D_

if (rs != null) {

_x000D_

rs.close();

_x000D_

}

_x000D_

if (pstmt != null) {

_x000D_

pstmt.close();

_x000D_

}

_x000D_

if (conn != null) {

_x000D_

conn.close();

_x000D_

}

_x000D_

} catch (SQLException e) {

_x000D_

e.printStackTrace();

_x000D_

}

_x000D_

}

_x000D_

}

_x000D_ _x000D_

在上面的代碼中,我們首先創建了一個PreparedStatement對象。然后,使用setInt()方法設置查詢參數,并使用executeQuery()方法執行查詢語句。在while循環中處理結果集。

_x000D_

常見問題解答

_x000D_

1. 如何處理MySQL中的日期和時間?

_x000D_

在Java中,可以使用java.sql.Datejava.sql.Timestamp類來處理MySQL中的日期和時間。java.sql.Date類表示日期(年月日),而java.sql.Timestamp類表示日期和時間(年月日時分秒)。

_x000D_

以下是使用java.sql.Datejava.sql.Timestamp類處理MySQL中的日期和時間的示例代碼:

_x000D_

`java

_x000D_

import java.sql.Connection;

_x000D_

import java.sql.DriverManager;

_x000D_

import java.sql.PreparedStatement;

_x000D_

import java.sql.ResultSet;

_x000D_

import java.sql.SQLException;

_x000D_

import java.sql.Timestamp;

_x000D_

public class MySQLJDBC {

_x000D_

public static void main(String[] args) {

_x000D_

// JDBC驅動程序類名和數據庫URL

_x000D_

final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";

_x000D_

final String DB_URL = "jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC";

_x000D_

// 數據庫用戶和密碼

_x000D_

final String USER = "root";

_x000D_

final String PASS = "password";

_x000D_

Connection conn = null;

_x000D_

PreparedStatement pstmt = null;

_x000D_

ResultSet rs = null;

_x000D_

try {

_x000D_

// 注冊JDBC驅動程序

_x000D_

Class.forName(JDBC_DRIVER);

_x000D_

// 打開連接

_x000D_

System.out.println("連接數據庫...");

_x000D_

conn = DriverManager.getConnection(DB_URL, USER, PASS);

_x000D_

// 執行查詢

_x000D_

System.out.println("創建PreparedStatement對象...");

_x000D_

String sql = "SELECT id, name, birthday, created_time FROM users WHERE id = ?";

_x000D_

pstmt = conn.prepareStatement(sql);

_x000D_

pstmt.setInt(1, 1);

_x000D_

rs = pstmt.executeQuery();

_x000D_

// 處理結果集

_x000D_

while (rs.next()) {

_x000D_

int id = rs.getInt("id");

_x000D_

String name = rs.getString("name");

_x000D_

Date birthday = rs.getDate("birthday");

_x000D_

Timestamp createdTime = rs.getTimestamp("created_time");

_x000D_

System.out.println("ID: " + id + ", Name: " + name + ", Birthday: " + birthday + ", Created Time: " + createdTime);

_x000D_

}

_x000D_

} catch (ClassNotFoundException e) {

_x000D_

e.printStackTrace();

_x000D_

} catch (SQLException e) {

_x000D_

e.printStackTrace();

_x000D_

} finally {

_x000D_

try {

_x000D_

if (rs != null) {

_x000D_

rs.close();

_x000D_

}

_x000D_

if (pstmt != null) {

_x000D_

pstmt.close();

_x000D_

}

_x000D_

if (conn != null) {

_x000D_

conn.close();

_x000D_

}

_x000D_

} catch (SQLException e) {

_x000D_

e.printStackTrace();

_x000D_

}

_x000D_

}

_x000D_

}

_x000D_ _x000D_

在上面的代碼中,我們使用java.sql.Date類獲取MySQL中的日期,并使用java.sql.Timestamp類獲取MySQL中的日期和時間。

_x000D_

2. 如何處理MySQL中的NULL值?

_x000D_

在Java中,可以使用ResultSet對象的wasNull()方法判斷MySQL中的字段是否為NULL。如果字段為NULL,則wasNull()方法返回true,否則返回false

_x000D_

以下是使用wasNull()方法處理MySQL中的NULL值的示例代碼:

_x000D_

`java

_x000D_

import java.sql.Connection;

_x000D_

import java.sql.DriverManager;

_x000D_

import java.sql.PreparedStatement;

_x000D_

import java.sql.ResultSet;

_x000D_

import java.sql.SQLException;

_x000D_

public class MySQLJDBC {

_x000D_

public static void main(String[] args) {

_x000D_

// JDBC驅動程序類名和數據庫URL

_x000D_

final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";

_x000D_

final String DB_URL = "jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC";

_x000D_

// 數據庫用戶和密碼

_x000D_

final String USER = "root";

_x000D_

final String PASS = "password";

_x000D_

Connection conn = null;

_x000D_

PreparedStatement pstmt = null;

_x000D_

ResultSet rs = null;

_x000D_

try {

_x000D_

// 注冊JDBC驅動程序

_x000D_

Class.forName(JDBC_DRIVER);

_x000D_

// 打開連接

_x000D_

System.out.println("連接數據庫...");

_x000D_

conn = DriverManager.getConnection(DB_URL, USER, PASS);

_x000D_

// 執行查詢

_x000D_

System.out.println("創建PreparedStatement對象...");

_x000D_

String sql = "SELECT id, name, age, email FROM users WHERE id = ?";

_x000D_

pstmt = conn.prepareStatement(sql);

_x000D_

pstmt.setInt(1, 2);

_x000D_

rs = pstmt.executeQuery();

_x000D_

// 處理結果集

_x000D_

while (rs.next()) {

_x000D_

int id = rs.getInt("id");

_x000D_

String name = rs.getString("name");

_x000D_

int age = rs.getInt("age");

_x000D_

String email = rs.getString("email");

_x000D_

if (rs.wasNull()) {

_x000D_

email = "NULL";

_x000D_

}

_x000D_

System.out.println("ID: " + id + ", Name: " + name + ", Age: " + age + ", Email: " + email);

_x000D_

}

_x000D_

} catch (ClassNotFoundException e) {

_x000D_

e.printStackTrace();

_x000D_

} catch (SQLException e) {

_x000D_

e.printStackTrace();

_x000D_

} finally {

_x000D_

try {

_x000D_

if (rs != null) {

_x000D_

rs.close();

_x000D_

}

_x000D_

if (pstmt != null) {

_x000D_

pstmt.close();

_x000D_

}

_x000D_

if (conn != null) {

_x000D_

conn.close();

_x000D_

}

_x000D_

} catch (SQLException e) {

_x000D_

e.printStackTrace();

_x000D_

}

_x000D_

}

_x000D_

}

_x000D_ _x000D_

在上面的代碼中,我們使用wasNull()方法判斷MySQL中的email字段是否為NULL。如果為NULL,則將其賦值為字符串"NULL"。

_x000D_

本文介紹了如何使用Java查詢MySQL數據庫。我們首先需要連接數據庫,然后使用StatementPreparedStatement對象執行查詢。本文還解答了一些常見問題,如如何處理MySQL中的日期和時間、如何處理MySQL中的NULL值等。通過本文的學習,相信讀者已經掌握了Java查詢MySQL數據庫的基本方法。

_x000D_
tags: Java
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
国产在线蜜乳一区二区三区| 欧洲熟妇色ⅩXXXX欧美老妇| 国内精品久久久久影院一蜜桃| 696969大但人文艺术来源| 书房双乳晃动干柴烈火| 午夜性影院爽爽爽爽爽爽| 亚洲精品无码专区久久同性男| 影音先锋熟女少妇AV资源| 暗交小拗女一区二区| 国产成人免费无码AV在线播放| 国产无人区卡一卡二卡乱码| 黑人大战中国AV女叫惨了| 老根嫩草1一40淑媛全文| 区二区三区国产精华液区别大吗| 视频一区二区三区在线| 亚洲国产成人无码AV在线播放| 亚洲伊人久久大香线蕉| ASS黑森林PIC| 公交车后车座疯狂的做的细节| 国内精品人妻久久毛片APP| 两男一女两根同进去舒服吗| 男女啪啪无遮挡免费网站| 色哟哟在线视频精品一区| 无码人妻丰满熟妇啪啪| 亚洲日韩精品无码AV海量| AV免费网站在线观看| 国产精品VA在线观看无码| 久久久精品中文字幕乱码18| 农村妇女野外交性高清片| 熟妇人妻久久中文字幕| 性刺激性色爽爱小说| 伊人色综合网一区二区三区| 成年无码动漫AV片在线尤物| 红杏亚洲影院一区二区三区| 女性の乳頭を遮住する方法| 无码成人AAAAA毛片| 伊人精品成人久久综合| 嗯啊开小嫩苞好深啊H视频| 精品熟女少妇AV免费观看| 欧美肉体裸交做爰XXXⅩ性玉蒲| 无码人妻一区二区三区免水牛视频| 一下子挺进浓密的黑森林| 丰满人妻被两个按摩师| 久久婷婷综合色丁香五月| 色视频综合无码一区二区三区| 亚洲色偷拍区另类无码专区| 中文日本字幕MV在现线观看| 国产成人久久综合一区| 麻豆精品一卡2卡三卡4卡免费观 | 国产AV无码专区影视| 久久99精品久久久久婷婷暖| 日韩精品人妻系列无码专区| 亚洲AV无码专区亚洲AV紧身裤| CHINESE 麻豆 HD X| 狠狠色噜噜狠狠亚洲AV| 人人爽人人片人人片AV| 亚洲欧美日韩愉拍自拍| 白嫖B站激活码2023| 久久AV无码ΑV高潮ΑV喷吹| 少妇无码AV无码一区| 中文字幕,久热精品,视频在线| 国产精品青青在线观看爽香蕉 | 中文字幕日本最新乱码视频| 国产乱码一区二区三区| 欧美自拍亚洲综合在线| 亚洲国产精品久久久久网站| 公侵犯人妻一区二区三区免费| 免费AV片在线观看网址KAN什| 性荡视频播放在线视频7777| 八戒八戒神马2021| 久久亚洲美女精品国产精品 | 久久99精品久久久久婷综合| 厨房掀开馊了裙子挺进电影| 国产成人A区在线观看| 欧美精品亚洲精品日韩专区VA| 亚洲国产精品久久久久久| 国产A√精品区二区三区四区| 欧美 亚洲 另类 丝袜 自拍| 亚洲码国产精品高潮在线 | 日本亚洲色大成网站www久久| 真实国产乱子伦精品一区二区三区| 黑人男女粗大猛烈进出视频| 未满十八18禁止午夜免费网站| TAP TAP下载官方正版| 久久亚洲精品中文字幕| 亚洲国产AV无码一区二区三区| 国产AV鲁丝一区二区二区| 强插女教师AV在线| 中文字幕有码中文无码| 久久国产精品99国产精| 亚洲AV无码一区二区乱子伦AS| 国产JJIZZ女人多水| 日本丰满熟妇BBxBB| AⅤ日本亚洲欧洲免费| 浪潮AV一区二区三区| 亚洲区激情区无码区| 国语自产偷拍精品视频| 无码熟妇人妻AV影片在线| 丁香激情五月中文字幕亚洲| 人妻av一区二区三区| 50岁老熟人乱一区二区三区| 老少交TNBE少老配| 亚洲一线产区二线产区区别| 寂寞视频一对一视频APP| 亚洲AV高清在线观看一区二区三 | 动漫成人无码精品一区二区三区| 欧洲无码一区二区三区在线观看| 51成品网站W灬源码1688| 久久婷婷五月综合成人D啪| 亚洲欧洲精品成人久久曰影片| 黑人巨大精品欧美久久| 亚洲AV无码成人精品区瑜伽裤| 国产乱人伦偷精品视频| 无遮挡色视频真人免费不卡| 国产精品爽爽ⅤA在线观看| 铜铜铜铜铜铜铜铜好大免费| 国产999精品久久久久久| 少妇三级全黄在线播放| 国产AV一区二区三区传媒| 舌头伸进去里面吃小豆豆| 国产A级毛多妇女视频| 天堂种子在线WWW网| 国产激情无码一区二区| 无码秘 人妻一区二区三区| 国产精品成人99久久久久| 无套中出丰满人妻无码| 国产午夜三级一区二区三| 亚洲AV无码专区在线播放中文| 国自产精品手机在线观看视频| 亚洲AV日韩AV高潮无码专区| 护士被医生办公室狂玩| 亚洲人成网站18禁止影院| 久久久久精品国产三级| 中国国产高清免费AV片| 牛鞭进入女人下身的视频| YY111111人妻影院| 日韩精品专区AV无码| 国产92成人精品视频免费| 无码人妻侵犯一区侵犯| 果冻传媒AⅤ毛片无码蜜桃| 亚洲国产制服丝袜先锋| 久久久久久久精品成人热色戒 | 敌伦交换第十一部分| 铜铜铜铜铜铜铜铜铜好多深| 国产美女被遭强高潮网站免费| 亚洲AV成人无码深夜高潮| 精品久久8X国产免费观看| 一女大战七个黑人到喷浆| 妺妺窝人体色444444大粗| WW久久综合久中文字幕| 双乳被一左一右吃着的小说| 国产午夜精品一区二区三区软件| 亚洲精品国产成人99久久6| 乱人伦人妻中文字幕无码| SUNTEK中老年妈妈| 天堂资源在线WWW在线观看| 国产制服丝袜在线无码| 亚洲色AV无码AV丰满AV| 免费无码又爽又刺激高潮的漫画| 爱性久久久久久久久| 我趁老师睡觉偷偷的脱她内裤| 黑人巨大精品欧美一区二区| 正在播放国产对白孕妇作爱| 人妻丰满熟妇AV无码处处不卡| 国产成人精品无码免费看| 亚洲国产欧美在线人成最新| 免费无码的AV片在线观看| 穿越后每天都在PIAPIA打脸| 亚洲AV区无码字幕中文色| 老肥熟妇丰满大屁股在线播放| CEKC老妇女CEA0| 无码H片在线观看网站| 久久国产精品久久精品国产| GAY欧美猛男巨大FUCKIN| 无码抽搐高潮喷水流白浆| 久久精品国产99国产精偷| BBWBBW肥妇BBWBBW| 无人区卡一卡二卡三乱码入口 | 夜夜躁狠狠躁日日躁| 日本JAPANESE护士人妻| 国产真实强被迫伦姧女在线观看| 一二三四视频社区在线一中文| 日本精品一线二线三线区别在哪里 | 日本伊人精品一区二区三区| 国精品无码一区二区三区在线蜜臀 | 无码熟妇人妻AV在线网站| 狂性XXXX乱大交老女人| 成人欧美一区二区三区性视频 | 黑人玩弄漂亮少妇高潮大叫| 2020国产亚洲美女精品久久久| 四虎免费影院1515WWW| 久久久久久久精品免费久精品蜜桃| 被多人玩弄的烂货苏妖精| 亚洲成A人片无码不卡| 欧美XXXX做受视频| 国产午夜福利100集发布| 996久久国产精品线观看| 亚洲AⅤ爽爽香蕉久久影片| 欧美精品AⅤ一区二区三区| 国产一区二区三区自产|