"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > JavaFX एप्लिकेशन को MySQL डेटाबेस से कैसे कनेक्ट करें और TableView में डेटा कैसे प्रदर्शित करें?

JavaFX एप्लिकेशन को MySQL डेटाबेस से कैसे कनेक्ट करें और TableView में डेटा कैसे प्रदर्शित करें?

2024-11-23 को प्रकाशित
ब्राउज़ करें:668

How to Connect a JavaFX Application to a MySQL Database and Display Data in a TableView?

JavaFX MySQL डेटाबेस कनेक्शन

JavaFX अनुप्रयोगों को MySQL डेटाबेस से कनेक्ट करने के लिए एक विशिष्ट वर्ग की आवश्यकता होती है जो कनेक्शन और डेटा पुनर्प्राप्ति को संभालता है। यहां एक सरल उदाहरण दिया गया है:

PersonDataAccessor:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;

import java.util.List;
import java.util.ArrayList;

public class PersonDataAccessor {

    private Connection connection;

    // Constructor
    public PersonDataAccessor(String driverClassName, String dbURL, String user, String password) throws SQLException, ClassNotFoundException {
        Class.forName(driverClassName);
        connection = DriverManager.getConnection(dbURL, user, password);
    }

    // Close connection
    public void shutdown() throws SQLException {
        if (connection != null) {
            connection.close();
        }
    }

    // Get person list
    public List getPersonList() throws SQLException {
        try (
            Statement stmnt = connection.createStatement();
            ResultSet rs = stmnt.executeQuery("select * from person");
        ) {
            List personList = new ArrayList();
            while (rs.next()) {
                String firstName = rs.getString("first_name");
                String lastName = rs.getString("last_name");
                String email = rs.getString("email_address");
                Person person = new Person(firstName, lastName, email);
                personList.add(person);
            }
            return personList;
        }
    }

}

यह वर्ग कनेक्शन स्थापना, क्वेरी निष्पादन और डेटा पुनर्प्राप्ति को संभालता है। GetPersonList() विधि डेटाबेस में "व्यक्ति" तालिका पर सवाल उठाती है और पुनर्प्राप्त डेटा को व्यक्ति वस्तुओं की सूची में परिवर्तित करती है।

व्यक्ति मॉडल (डेटा प्रतिनिधित्व):

import javafx.beans.property.StringProperty;
import javafx.beans.property.SimpleStringProperty;

public class Person {

    private StringProperty firstName = new SimpleStringProperty(this, "firstName");
    public StringProperty firstNameProperty() {
        return firstName;
    }
    public String getFirstName() {
        return firstNameProperty().get();
    }
    public void setFirstName(String firstName) {
        firstNameProperty().set(firstName);
    }

    private StringProperty lastName = new SimpleStringProperty(this, "lastName");
    public StringProperty lastNameProperty() {
        return lastName;
    }
    public String getLastName() {
        return lastNameProperty().get();
    }
    public void setLastName(String lastName) {
        lastNameProperty().set(lastName);
    }

    private StringProperty email = new SimpleStringProperty(this, "email");
    public StringProperty emailProperty() {
        return email;
    }
    public String getEmail() {
        return emailProperty().get();
    }
    public void setEmail(String email) {
        emailProperty().set(email);
    }

    public Person() {}

    public Person(String firstName, String lastName, String email) {
        setFirstName(firstName);
        setLastName(lastName);
        setEmail(email);
    }

}

यह वर्ग प्रथम नाम, अंतिम नाम और ईमेल के गुणों के साथ व्यक्ति ऑब्जेक्ट को परिभाषित करता है।

यूआई क्लास (एक तालिका में डेटा प्रदर्शित करता है):

import javafx.application.Application;
import javafx.scene.control.TableView;
import javafx.scene.control.TableColumn;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.layout.BorderPane;
import javafx.scene.Scene;
import javafx.stage.Stage;

public class PersonTableApp extends Application {

    private PersonDataAccessor dataAccessor;

    @Override
    public void start(Stage primaryStage) throws Exception {
        dataAccessor = new PersonDataAccessor(...); // Provide DB connection details

        TableView personTable = new TableView();
        TableColumn firstNameCol = new TableColumn("First Name");
        firstNameCol.setCellValueFactory(new PropertyValueFactory("firstName"));
        TableColumn lastNameCol = new TableColumn("Last Name");
        lastNameCol.setCellValueFactory(new PropertyValueFactory("lastName"));
        TableColumn emailCol = new TableColumn("Email");
        emailCol.setCellValueFactory(new PropertyValueFactory("email"));

        personTable.getColumns().addAll(firstNameCol, lastNameCol, emailCol);
        personTable.getItems().addAll(dataAccessor.getPersonList());

        BorderPane root = new BorderPane();
        root.setCenter(personTable);
        Scene scene = new Scene(root, 600, 400);
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    @Override
    public void stop() throws Exception {
        if (dataAccessor != null) {
            dataAccessor.shutdown();
        }
    }

    public static void main(String[] args) {
        launch(args);
    }
}

यह क्लास यूआई को इनिशियलाइज़ करता है और व्यक्ति ऑब्जेक्ट को टेबल व्यू में प्रदर्शित करता है।

इन चरणों का पालन करके, आप एक JavaFX एप्लिकेशन बना सकते हैं जो MySQL डेटाबेस से सफलतापूर्वक कनेक्ट होता है, डेटा पुनर्प्राप्त करता है, और इसे उपयोगकर्ता-अनुकूल तालिका में प्रदर्शित करता है।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3