javafx与MySQL的连接_如何让javafx界面直接连接数据库?

谢邀

首先呢,javaFX是什么,是一个界面框架,这个是什么意思呢,他控制的是用户所看到的东西,显示在屏幕上面的那个窗口,窗口上面的内容,这是javafx负责的地方。

然后呢,数据库,这个是由java通过JDBC协议连接到数据库,然后通过执行SQL控制的。

基本思路是这样,你得有一个界面,这种管理系统一般是TableView吧,TableView用法稍微有点麻烦,具体参照这里可以写出一个TableView的Demo,你得先学会这个才能继续。DOC-03-13 表格视图(TableView)​www.javafxchina.netc15e0dfb06759a500bce4a26ab48c43e.png

然后呢,你就知道该怎么使用这一个东西,并且显示出数据来,那么接下来的问题就是怎么得到数据了,这个简单,直接JDBC连接数据库,查到就有了。

以mysql为例:

先下载mysql的jdbc包,放构建路径,然后Class.forName()方法加载驱动,然后DriverManager获取connection,然后connection得到PrepareStatment,然后写SQL,填数据,然后executeQuery得到DataSet,判别DataSet的next,循环读取DataSet并且封装到你自己的Bean(或者Entity,Domain,还是别的)里面,然后拿着这些数据去更新你的TableView。

大致上流程就是这样的。

另外TableView的列是可以自定义的,如果需要可以百度去查,应该就是继承某一个Cell然后重新updateItem方法。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
连接数据库,您需要使用Java Database Connectivity(JDBC)API。以下是一个简单的JavaFX登录界面示例,其中使用JDBC连接MySQL数据库: ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import javafx.application.Application; import javafx.geometry.Insets; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.control.PasswordField; import javafx.scene.control.TextField; import javafx.scene.layout.GridPane; import javafx.stage.Stage; public class LoginApp extends Application { private static final String DB_URL = "jdbc:mysql://localhost:3306/mydatabase"; private static final String DB_USER = "root"; private static final String DB_PASSWORD = "password"; private static final String LOGIN_QUERY = "SELECT * FROM users WHERE username = ? AND password = ?"; private TextField usernameField; private PasswordField passwordField; private Label statusLabel; @Override public void start(Stage primaryStage) { primaryStage.setTitle("Login"); GridPane grid = new GridPane(); grid.setPadding(new Insets(10, 10, 10, 10)); grid.setVgap(5); grid.setHgap(5); Label usernameLabel = new Label("Username:"); GridPane.setConstraints(usernameLabel, 0, 0); usernameField = new TextField(); GridPane.setConstraints(usernameField, 1, 0); Label passwordLabel = new Label("Password:"); GridPane.setConstraints(passwordLabel, 0, 1); passwordField = new PasswordField(); GridPane.setConstraints(passwordField, 1, 1); Button loginButton = new Button("Login"); GridPane.setConstraints(loginButton, 1, 2); loginButton.setOnAction(e -> handleLogin()); statusLabel = new Label(); GridPane.setConstraints(statusLabel, 1, 3); grid.getChildren().addAll(usernameLabel, usernameField, passwordLabel, passwordField, loginButton, statusLabel); Scene scene = new Scene(grid, 300, 150); primaryStage.setScene(scene); primaryStage.show(); } private void handleLogin() { String username = usernameField.getText(); String password = passwordField.getText(); try { Connection conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD); PreparedStatement stmt = conn.prepareStatement(LOGIN_QUERY); stmt.setString(1, username); stmt.setString(2, password); ResultSet rs = stmt.executeQuery(); if (rs.next()) { statusLabel.setText("Login successful"); } else { statusLabel.setText("Incorrect username or password"); } conn.close(); } catch (SQLException e) { statusLabel.setText("Database error"); e.printStackTrace(); } } public static void main(String[] args) { launch(args); } } ``` 在这个示例中,我们使用了一个GridPane布局,包含了一个用户名文本框、一个密码文本框、一个登录按钮和一个状态标签。当用户点击登录按钮时,我们使用JDBC连接MySQL数据库,执行一个查询来检查用户提供的用户名和密码是否正确。如果查询返回结果,则显示“登录成功”消息,否则显示“用户名或密码不正确”消息。如果发生数据库错误,则显示“数据库错误”消息。 请注意,这个示例中使用的是MySQL数据库,您需要将DB_URL、DB_USER和DB_PASSWORD变量替换为您自己的数据库连接信息。此外,您还需要下载MySQL JDBC驱动程序,并将其添加到您的项目中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值