java电话簿管理单机版,用javafx实现的图形界面,怎样将数据保存到数据库
用jdbc,单机的出于简单考虑,用 sqlite 作为数据库就可以了。
功能名称 | 快捷键 |
---|---|
登录 | Enter |
首先,要将Java电话簿管理单机版中的数据保存到数据库,你需要进行以下几个步骤:
首先,确定使用哪种数据库。常见的数据库有MySQL、Oracle、PostgreSQL等。选择一个你熟悉或者想要学习的数据库作为你的目标数据库。
在Eclipse中,导入数据库操作所需的JDBC驱动。具体步骤如下:
选择你解压的JDBC驱动的.jar文件,点击"OK"。
在你的Java代码中引入所需的包,以及编写数据库连接代码。示例代码如下:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DatabaseConnection {
private static final String DB_URL = "jdbc:mysql://localhost/your_database_name";
private static final String USERNAME = "your_username";
private static final String PASSWORD = "your_password";
public static Connection getConnection() {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection(DB_URL, USERNAME, PASSWORD);
return conn;
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
return null;
}
}
将上述代码中的DB_URL
、USERNAME
和PASSWORD
替换为你自己的数据库信息。
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class PhoneBookDAO {
public void saveContact(Contact contact) {
String query = "INSERT INTO phonebook (name, phone_number) VALUES (?, ?)";
try (Connection conn = DatabaseConnection.getConnection();
PreparedStatement stmt = conn.prepareStatement(query)) {
stmt.setString(1, contact.getName());
stmt.setString(2, contact.getPhoneNumber());
stmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
上述代码中的Contact
是一个自定义的类,用于表示电话簿中的联系人信息。name
和phone_number
是数据库中的列名,根据你的数据库表结构修改。
import javafx.fxml.FXML;
import javafx.scene.control.TextField;
public class PhoneBookController {
@FXML
private TextField nameTextField;
@FXML
private TextField phoneNumberTextField;
private PhoneBookDAO phoneBookDAO;
public void initialize() {
phoneBookDAO = new PhoneBookDAO();
}
@FXML
private void saveContact() {
String name = nameTextField.getText();
String phoneNumber = phoneNumberTextField.getText();
Contact contact = new Contact(name, phoneNumber);
phoneBookDAO.saveContact(contact);
// 清空输入框
nameTextField.clear();
phoneNumberTextField.clear();
}
}
上述代码中,nameTextField
和phoneNumberTextField
是你在JavaFX界面中定义的文本输入框,用于获取用户输入的姓名和电话号码。saveContact
方法会将输入的数据保存到数据库,并清空输入框。
这样,当用户在JavaFX界面输入联系人信息并点击保存按钮时,数据就会保存到数据库中了。
这是一个基本的实现方案,具体的实现可能会根据你的项目结构和需求有所调整。如果你对某个步骤不够理解或者遇到问题,请随时提问。