Старая тема, я знаю. Нашел проблему с кем-то, использующим PDO, и ответ заключался в том, чтобы использовать это для строки подключения PDO:
$pdo = new PDO(
'mysql:host=mysql.example.com;dbname=example_db',
"username",
"password",
array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
Сайт, на котором я взял это, отключен, смог получить его с помощью кеша google.
Как исправить его
Неправильно используется ваш метод getter и setter.
getstockTicker
должен быть getStockTicker
setstockTicker
должен быть setStockTicker
Некоторая справочная информация
Свойство PropertyValueFactory остается неизменным:
new PropertyValueFactory<Stock,String>("stockTicker")
Соглашение об именах будет казаться более очевидным, если вы также добавите свойство accessor к вашему классу Stock:
public class Stock {
private SimpleStringProperty stockTicker;
public Stock(String stockTicker) {
this.stockTicker = new SimpleStringProperty(stockTicker);
}
public String getStockTicker() {
return stockTicker.get();
}
public void setStockTicker(String stockticker) {
stockTicker.set(stockticker);
}
public StringProperty stockTickerProperty() {
return stockTicker;
}
}
PropertyValueFactory использует отражение для поиска соответствующих аксессуаров. Сначала он попытается использовать accessTickerProperty аксессуар, и, если нет, то отпадает назад к геттерам и сеттерам. Рекомендуется предоставить аксессуар свойств, так как вы автоматически включите свою таблицу для наблюдения за свойством в базовой модели, динамически обновляя ее в качестве базовой модели.
поместите метод Getter и Setter в ваш класс данных для всех элементов.