【发布时间】:2017-07-24 00:59:45
【问题描述】:
我正在尝试制作一个需要连接到 MySQL DB 并执行用户名和密码检查(登录)和其他 CRUD 应用程序的 JavaFX 应用程序。下面是我的 Java 类,用于连接和检查用户名和密码。但是,每次我需要确保用户连接到数据库或执行其他 CRUD 活动时,我认为这并不专业,我必须创建整个步骤...... 有没有更专业的方法来创建一个可以从任何地方访问的全局方法,以便我可以调用它来为我做数据库连接?
public void LoginButtonHandler(ActionEvent event){
user.setUsername(username.getText().trim());
user.setPassword(password.getText().trim());
String Username = user.getUsername();
String Password = user.getPassword();
try{
Class.forName("com.mysql.jdbc.Driver"); // MySQL database connection
Connection conn = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/airinvoice?" + "user=root&password=*******");
PreparedStatement pst = conn.prepareStatement("Select * from users where username=? and password=?");
pst.setString(1, Username);
pst.setString(2, Password);
ResultSet rs = pst.executeQuery();
if(rs.next()) {
Date dNow = new Date( );
System.out.println("logged in with username: "+Username+" "+dNow);
Alert alert = new Alert(AlertType.INFORMATION);
alert.setTitle("Notification");
alert.setHeaderText("you are logged in successfully");
alert.setContentText("you are logged in as "+Username);
alert.show();
}
else{
System.out.println("error logging in !");
Alert erroAlert = new Alert(AlertType.INFORMATION);
erroAlert.setTitle("Notification");
erroAlert.setHeaderText("login unsuccessful");
erroAlert.setContentText("check your username or password");
erroAlert.show();
}
}
catch(Exception e){
e.printStackTrace();
}
}//end method LoginButtonHandler
【问题讨论】:
-
您可以使用 Hibernate 或创建自己的 pojo,也可以创建自己的数据源来为您管理连接。
-
@VinayPrajapati hibernate 仅适用于 Web 应用程序吗? ...在我的情况下,我正在使用 JavaFX 希望它可以与 JavaFX 一起使用
-
hibernate 不依赖于 Web 应用程序。请记住,这是一个 ORM 框架,而不是 MVC。