มาเวน

รายละเอียดที่สำคัญที่สุดคือไลบรารีไดรเวอร์ 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