Я пытаюсь подключить свое приложение javafx к базе данных mysql. Есть кнопка с названием сохранить,
который,
аналогичным образом сохраняет название, ISBN, автора и издателя в базе данных.
Mysql версия коннектора - 2.0. 14
@FXML
private void savebutton(ActionEvent event) {
try {
String url = "jdbc:mysql://localhost:3306/librarymanager";
String uname="root";
String pass="";
String query="INSERT INTO `bookdetails`(`title`, `isbn`, `author`, `publisher`, `isavailable`) VALUES ("+title.getText()+","+isbn.getText()+","+author.getText()+","+publisher.getText()+","+Boolean.TRUE+")";
Class.forName("org.gjt.mm.mysql.Driver");
Connection con=DriverManager.getConnection(url, uname, pass);
Statement st=con.createStatement();
st.executeUpdate(query);
st.close();
con.close();
} catch (ClassNotFoundException |SQLException ex) {
System.out.println(ex);
}
}
Это функция, которая вызывается при нажатии кнопки сохранения.
полный класс контроллера ...
publi c класс FXMLDocumentController реализует Initializable {
private Label label;
@FXML
private JFXButton save;
@FXML
private JFXButton cancel;
@FXML
private JFXTextField title;
@FXML
private JFXTextField isbn;
@FXML
private JFXTextField author;
@FXML
private JFXTextField publisher;
@Override
public void initialize(URL url, ResourceBundle rb) {
RequiredFieldValidator fortitle=new RequiredFieldValidator();
RequiredFieldValidator forisbn=new RequiredFieldValidator();
title.getValidators().add(fortitle);
title.focusedProperty().addListener((ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) -> {
if(!newValue){
fortitle.setMessage("Enter the title");
title.validate();
}
});
isbn.getValidators().add(forisbn);
isbn.focusedProperty().addListener((ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) -> {
if(!newValue){
forisbn.setMessage("Enter ISBN");
isbn.validate();
}
});
}
@FXML
private void savebutton(ActionEvent event) {
try {
String url = "jdbc:mysql://localhost:3306/librarymanager";
String uname="root";
String pass="";
String query="INSERT INTO `bookdetails`(`title`, `isbn`, `author`, `publisher`, `isavailable`) VALUES ("+title.getText()+","+isbn.getText()+","+author.getText()+","+publisher.getText()+","+Boolean.TRUE+")";
Class.forName("org.gjt.mm.mysql.Driver");
Connection con=DriverManager.getConnection(url, uname, pass);
Statement st=con.createStatement();
st.executeUpdate(query);
st.close();
con.close();
} catch (ClassNotFoundException |SQLException ex) {
System.out.println(ex);
}
}
@FXML
private void cancelbutton(ActionEvent event) {
Button btn=(Button)event.getSource();
Stage stage =(Stage)btn.getScene().getWindow();
stage.close();
}
Ошибка IDE Netbeans - Не удается подключиться к серверу MySQL на локальном хосте: 3306. Есть ли сервер MySQL, работающий на машине / порте, к которому вы пытаетесь подключиться? (java .lang.NumberFormatException). Я знаю, что эта ошибка уже задавалась ранее, но я не делал ошибки как этот код. Я запускаю сервер с xaamp, он запустился без проблем. Я могу открыть localhost: 8080 / phpmyadmin / в моем браузере.
Я не могу указать на возможную проблему, не могли бы вы мне помочь?