簡體   English   中英

在Java中檢索MySQL自動增量

[英]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;

有關更多信息,請訪問http://www.sql2o.org/docs/column-mappings/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM