使用 jdbcTemplate 显示两个表中的多条记录
Show multiple records from two tables using jdbcTemplate
所以我有两个 tables:
Samochod (id, FK id of silnik, model)
Silnik (id, capacity)
现在我想列出我所有的车(所有信息来自 table "Samochod")。我试过这样的事情:
public List<Samochod> listuj() {
List<Samochod> samochodList = new ArrayList<Samochod>();
String query = "select * from samochod";
samochodList = jdbcTemplate.query(query, new BeanPropertyRowMapper(Samochod.class));
return samochodList;
}
但是我遇到了错误:
Failed to convert property value of type 'java.lang.Integer' to required type 'pl.edu.lab1.Silnik'...
有人知道如何从 table "Silnik" 获取容量吗?因为我要打印型号和容量。例如我在数据库中有:
Samochod: id = 1, id of silnik = 3, model = "Hyundai"
Silnik: id = 3, capacity = 1.4
所以我想打印 "Hyundai 1.4"。
有人知道我该怎么做吗?
@edit
我的 table 结构照片:
萨摩奇:
西尔尼克 ("pojemnosc" = "capacity"):
关系:
Samochod 上的
silnik 字段属于 Silnik 类型。但在数据库上是整数。
您需要将 silnik 的类型更改为整数或写入 you own BeanPropertyRowMapper .
所以我有两个 tables:
Samochod (id, FK id of silnik, model)
Silnik (id, capacity)
现在我想列出我所有的车(所有信息来自 table "Samochod")。我试过这样的事情:
public List<Samochod> listuj() {
List<Samochod> samochodList = new ArrayList<Samochod>();
String query = "select * from samochod";
samochodList = jdbcTemplate.query(query, new BeanPropertyRowMapper(Samochod.class));
return samochodList;
}
但是我遇到了错误:
Failed to convert property value of type 'java.lang.Integer' to required type 'pl.edu.lab1.Silnik'...
有人知道如何从 table "Silnik" 获取容量吗?因为我要打印型号和容量。例如我在数据库中有:
Samochod: id = 1, id of silnik = 3, model = "Hyundai"
Silnik: id = 3, capacity = 1.4
所以我想打印 "Hyundai 1.4"。
有人知道我该怎么做吗?
@edit
我的 table 结构照片:
萨摩奇:
西尔尼克 ("pojemnosc" = "capacity"):
关系:
Samochod 上的
silnik 字段属于 Silnik 类型。但在数据库上是整数。 您需要将 silnik 的类型更改为整数或写入 you own BeanPropertyRowMapper .