首页 > 解决方案 > 如何将 javafx(前端)连接到休眠(后端)

问题描述

我正在尝试创建一个简单的用户登录应用程序,该应用程序基本上会将用户输入详细信息保存到 h2 数据库表中。下面是我的 javafx 代码。谁能帮我解决错误。

public class Userlogin extends Application {

    Stage stage;
    Scene scene;
    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) throws Exception {
        stage = primaryStage;
        stage.setTitle("Login");

        GridPane gridPane = new GridPane();
        gridPane.setPadding(new Insets(10,10,10,10));
        gridPane.setHgap(8);
        gridPane.setVgap(10);

        Label label = new Label("Username");
        GridPane.setConstraints(label,0,0);

        TextField textField = new TextField("Username");
        GridPane.setConstraints(textField,1,0);

        Label label1 = new Label("Password");
        GridPane.setConstraints(label1,0,1);

        TextField textField1 = new TextField("Password");
        GridPane.setConstraints(textField1,1,1);


        Button login = new Button("Login");
        GridPane.setConstraints(login,1,2);

        gridPane.getChildren().addAll(label,textField,label1,textField1,login);
        scene = new Scene(gridPane,300,300);
        stage.setScene(scene);
        stage.show();

    }

这是我的休眠实体代码

@Entity
@Table(name = "LOGIN")
public class Login {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "ID")
    private int id;

    @Column(name = "USERNAME")
    private String username;

    @Column(name = "PASSWORD")
    private String password;

    public Login() {
    }

    public Login(String username, String password) {
        this.username = username;
        this.password = password;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

下面是我的数据库类

public class Logindbo {

    private static void create(Login login) {
        try {
            SessionFactory sessionFactory = Hibernateutil.getSessionFactory();
            Session session = sessionFactory.openSession();
            Transaction transaction = session.beginTransaction();
            session.save(login);
            transaction.commit();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    private static void delete(Login login) {
        try {
            SessionFactory sessionFactory = Hibernateutil.getSessionFactory();
            Session session = sessionFactory.openSession();
            Transaction transaction = session.beginTransaction();
            session.delete(login);
            transaction.commit();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    private static void update(Login login) {
        try {
            SessionFactory sessionFactory = Hibernateutil.getSessionFactory();
            Session session = sessionFactory.openSession();
            Transaction transaction = session.beginTransaction();
            session.update(login);
            transaction.commit();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    private static Login getLogin(int id) {
        SessionFactory sessionFactory = Hibernateutil.getSessionFactory();
        Session session = sessionFactory.openSession();
        Transaction transaction = session.beginTransaction();
        Login login = session.get(Login.class, id);
        return login;
    }
}

javafx 和 hibernate 工作正常,但不知道如何连接这两者。

标签: javadatabasehibernatejavafx

解决方案


推荐阅读