Saya mendapatkan exception
ketika saya menjalankan jdbctemplate
untuk mendapatkan id dari meja saya. Pengecualiannya adalah:
org.springframework.dao.EmptyResultDataAccessException: Incorrect result size: expected 1, actual 0
Saya memiliki skrip seperti di bawah ini:
CREATE TABLE LOGIN(
PERSON_ID SERIAL PRIMARY KEY,
USERNAME VARCHAR(20) CHECK (USERNAME IS NOT NULL),
PASSWORD VARCHAR(20) CHECK (PASSWORD IS NOT NULL)
);
Dan jdbctemplate code
adalah:
@Override
public int getPersonId(UsernamePassword usernamePassword) {
return jdbcTemplate.queryForObject("SELECT PERSON_ID FROM LOGIN WHERE USERNAME = ? AND PASSWORD = ?", Integer.class,
usernamePassword.getUser_name(), usernamePassword.getPassword());
}
Saya juga mencoba metode lain yang disediakan jdbctemplate
, tetapi saya tidak berhasil. Saya akan menghargai bantuan apa pun. Terima kasih.
1 menjawab
queryForObject
JdbcTemplate mengharapkan bahwa kueri yang dieksekusi hanya akan mengembalikan satu baris. Jika Anda mendapatkan 0 baris atau lebih dari 1 baris yang akan menghasilkan IncorrectResultSizeDataAccessException
.
Saya kira dalam kasus Anda, queryForObject
mengembalikan o baris atau lebih dari 1 baris,
Jadi jika Anda tidak ingin menangkap IncorrectResultSizeDataAccessException
ini, gunakan metode query
saja.