มาเวน
รายละเอียดที่สำคัญที่สุดคือไลบรารีไดรเวอร์ JDBC สำหรับเซิร์ฟเวอร์ MySQL มันจะไม่แสดงบนคอมพิวเตอร์ของคุณ คุณจึงต้องเพิ่มเข้าไปที่นั่น
หากคุณใช้ Maven คุณต้องช่วยเขาด้วยการชี้ไปที่ไลบรารี่ที่ถูกต้อง
ไดรเวอร์MySQL JDBC :
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.29</version>
</dependency>
เพียงเพิ่มรหัสนี้ในpom.xml ของ คุณ
ฉันจะให้ไดรเวอร์ยอดนิยมอีกสองสามตัว
ไดรเวอร์ JDBC สำหรับPostgeSQL :
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.4.0</version>
</dependency>
ไดรเวอร์ JDBC สำหรับOracle :
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<version>21.5.0.0</version>
</dependency>
ไดรเวอร์ JDBC สำหรับH2 :
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>2.1.214</version>
</dependency>
แบบสอบถามฐานข้อมูลแรก
รวมไลบรารี่ที่จำเป็นทั้งหมดแล้ว ถึงเวลาเรียกใช้โปรแกรมเข้าถึงฐานข้อมูลโปรแกรมแรกของคุณ เราจะเขียนโค้ดทั้งหมดในเมธอดmain()
ขั้นที่ 1 . เพิ่มการนำเข้าเล็กน้อยก่อน เมธอด main()ซึ่งจะทำให้ชีวิตของคุณง่ายขึ้นมาก:
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
ขั้นตอนที่ 2 . ก่อนอื่นเราต้องสร้างการเชื่อมต่อฐานข้อมูล ในการทำเช่นนี้ในmain() วิธี การ เขียนรหัสต่อไปนี้:
Connection connection = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/test",
"login", "password");
คุณสามารถทำได้ในบรรทัดเดียว - แล้วแต่ว่าคุณสะดวก แน่นอนว่าคุณต้องเข้าสู่ระบบและรหัสผ่านแทนของจริงจากเซิร์ฟเวอร์ MySQL ในเครื่องของคุณ
ขั้นตอนที่ 3 . เราสร้างแบบสอบถามไปยังฐานข้อมูล มารับผู้ใช้ทั้งหมดจากตารางผู้ใช้ จากนั้นคุณจะต้องเพิ่มโค้ดบรรทัดนี้:
Statement statement = connection.createStatement();
ResultSet results = statement.executeQuery("SELECT * FROM user");
นั่นคือสองบรรทัด ในขั้นแรก เราสร้างวัตถุคำแถลงและประการที่สอง เราใช้เพื่อค้นหาฐานข้อมูล วิธีการexecuteQuery()ดำเนินการค้นหาฐานข้อมูลและส่งคืนวัตถุประเภทชุดผลลัพธ์.
ด่านที่ 4 . แสดงข้อมูลที่มีอยู่ในวัตถุชุดผลลัพธ์.
ชุดผลลัพธ์- มันไม่ใช่ชุด มันเรียกแค่นั้น มันเก็บผลลัพธ์ของการดำเนินการแบบสอบถาม วัตถุนี้ค่อนข้างคล้ายกับตัววนซ้ำ: ช่วยให้คุณตั้งค่า / เปลี่ยนแถวปัจจุบันของผลลัพธ์ จากนั้นคุณจะได้รับข้อมูลจากแถวปัจจุบันนี้ เพิ่มรหัสต่อไปนี้ในตัวอย่างของคุณ:
while (results.next()) {
Integer id = results.getInt(1);
String name = results.getString(2);
System.out.println(results.getRow() + ". " + id + "\t"+ name);
}
เมธอดnext()เปลี่ยนแถวผลลัพธ์ปัจจุบันเป็นแถวถัดไป มันจะคืนค่าจริงหากมีบรรทัดดังกล่าว และเป็นเท็จหากไม่มีบรรทัดอื่นอีก
จากนั้นจากบรรทัดปัจจุบันของวัตถุชุดผลลัพธ์คุณสามารถรับข้อมูลจากคอลัมน์:
- getRow() - ส่งกลับจำนวนของแถวปัจจุบันในวัตถุชุดผลลัพธ์
- getInt(N) - จะส่งคืนข้อมูลของคอลัมน์ที่ N ของแถวปัจจุบันเป็น int
- getString(N) - จะส่งคืนข้อมูลของคอลัมน์ที่ N ของแถวปัจจุบันเป็นสตริง
รายชื่อโปรแกรมทั้งหมด
เพื่อลดข้อผิดพลาด นี่คือรายการทั้งหมดของโปรแกรม:
package org.example;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class JdbcApplicatin {
public static void main(String[] args) throws Exception{
Connection connection = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/test",
"root", "secret");
Statement statement = connection.createStatement();
ResultSet results = statement.executeQuery("SELECT * FROM user");
while (results.next()) {
Integer id = results.getInt(1);
String name = results.getString(2);
System.out.println(results.getRow() + ". " + id + "\t"+ name);
}
connection.close();
}
}
และผลลัพธ์หน้าจอของฉันหลังจากรันโปรแกรม:
"C:\Program Files\Java\jdk-17.0.3.1\bin\java.exe... | |||
สิบเอ็ด | อีวานอฟ อีวาน | ||
2.2 | เปตรอฟ นิโคไล | ||
3.3 | ซิโดรอฟ วิทาลี | ||
กระบวนการเสร็จสิ้นด้วยรหัสออก 0 |
GO TO FULL VERSION