[英]retrieve MySQL auto increment in Java
我正在嘗試從數據庫中檢索idPatient但我不斷收到錯誤,idPatient是自動增量。 但我不知道這是不是導致問題的原因。
這是我正在嘗試的代碼
public List<Patient> getPatientsFromDatabase() {
String sql = "SELECT naam, voornaam, gebit, idPatient from patienten";
try (Connection con = sql2o.open()) {
return con.createQuery(sql)
.throwOnMappingFailure(false)
.executeAndFetch(Patient.class);
}
}
DB:
錯誤:
編輯 - 患者:
public Patient(String voornaam, String naam, String gebit, int id) {
this.voornaam = voornaam;
this.naam = naam;
this.id = id;
if (null != gebit)switch (gebit) {
case "melkgebit":
g = new Melkgebit();
this.gebit = "melkgebit";
break;
case "volwassengebit":
g = new Volwassengebit();
this.gebit = "volwassengebit";
break;
case "wisselgebit":
this.gebit = "wisselgebit";
break;
default:
break;
}
}
似乎Patient
沒有屬性idPatient
。 核實
列和屬性之間的映射按名稱自動完成。 當然,這並不總是可行的
在您的情況下,您已將id(java屬性)定義為idPatient(數據庫表中的相應列)。 最簡單的解決方案是在SQL查詢中使用別名。
嘗試更改您的SQL:
SELECT naam, voornaam, gebit, idPatient id from patienten;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.