我相信这会为您提供帮助:
public class DBClass{ public Connection getConnection() throws ClassNotFoundException, SQLException{ Class.forName("com.mysql.jdbc.Driver");return DriverManager.getConnection("jdbc:mysql://192.168.0.1:3306/dbname","mysqluser","mysqluserpwd"); }}在控制器类中执行以下操作:
@FXMLvoid initialize(){ assert tableview != null : "fx:id="tableview" was not injected: check your FXML file 'UserMaster.fxml'."; colUserName.setCellValueFactory( new PropertyValueFactory<Usermaster,String>("userName")); colPassword.setCellValueFactory( new PropertyValueFactory<Usermaster,String>("userPassword")); colUserType.setCellValueFactory( new PropertyValueFactory<Usermaster,String>("userType")); colPhoto.setCellValueFactory( new PropertyValueFactory<Object,ImageView>("userPhoto")); objDbClass = new DBClass(); try{ con = objDbClass.getConnection(); buildData(); } catch(ClassNotFoundException ce){ logger.info(ce.toString()); } catch(SQLException ce){ logger.info(ce.toString()); }}private ObservableList<Usermaster> data;public void buildData(){ data = FXCollections.observableArrayList(); try{ String SQL = "Select * from usermaster Order By UserName"; ResultSet rs = con.createStatement().executeQuery(SQL); while(rs.next()){ Usermaster cm = new Usermaster(); cm.userId.set(rs.getInt("UserId")); Image img = new Image("tailoring/UserPhoto/User"+cm.getUserId().toString()+".jpg"); ImageView mv = new ImageView(); mv.setImage(img); mv.setFitWidth(70); mv.setFitHeight(80); cm.userPhoto.set(mv); cm.userName.set(rs.getString("UserName")); cm.userPassword.set(rs.getString("UserPassword")); cm.userType.set(rs.getString("UserType")); data.add(cm); } tableview.setItems(data); } catch(Exception e){ e.printStackTrace(); System.out.println("Error on Building Data"); }}并为每个要使用TableView操纵的实体(表)创建一个单独的Java文件POJO
public class Usermaster{ public SimpleIntegerProperty userId = new SimpleIntegerProperty(); public ObjectProperty userPhoto = new SimpleObjectProperty(); public SimpleStringProperty userName = new SimpleStringProperty(); public SimpleStringProperty userPassword = new SimpleStringProperty(); public SimpleStringProperty userType = new SimpleStringProperty(); public SimpleStringProperty encPass = new SimpleStringProperty(); public SimpleStringProperty updt = new SimpleStringProperty(); public SimpleStringProperty uptm = new SimpleStringProperty(); public Integer getUserId() { return userId.get(); } public Object getUserPhoto() { return userPhoto.get(); } public String getUserName() { return userName.get(); } public String getUserPassword() { return userPassword.get(); } public String getUserType() { return userType.get(); } public String getEncPass() { return encPass.get(); } public String getUpdt() { return updt.get(); } public String getUptm() { return uptm.get(); }}我已经测试了该程序,它可以完美运行。



