我需要在我的spring boot webapp中執行數據庫插入。到目前爲止,我所擁有的是一系列體育比賽和各自的信息。在一個函數中使用JDBC執行數據插入到多個表中
一場比賽可以在同一天的不同時間舉行。 拳頭惱人的是我如何存儲這個時間是DB。這裏需要一張新桌子嗎? (我創建了一個日期表)
我搜索周圍,我仍然不知道如何的 競爭信息的插入和它的日期在同一時間結合起來,我插入功能。
我的插入功能需要一些作品,我需要somme的幫助。
這answer是好的,但它並沒有填補我的要求
我的數據基礎架構:
CREATE TABLE competition (
competition_id integer PRIMARY KEY,
nom varchar(128) NOT NULL,
);
CREATE TABLE date (
id integer PRIMARY KEY,
date_time timestamptz,
competition_id integer REFERENCES competition (competition_id)
);
JSON數據:
{
"id": "420",
"name": "SOCCER",
"dates": [
"2016-05-12T03:00:00.000Z"
"2016-05-12T04:00:00.000Z"
"2016-05-12T05:00:00.000Z"
]
},
{
"id": "220",
"name": "BASKETBALL",
"dates": [
"2016-05-12T03:00:00.000Z"
"2016-05-12T04:00:00.000Z"
]
}
我的競賽級別:
public class Competition{
private int id;
private String name;
private String[] dates;
// setters ... getters
}
功能插入數據:
private static final String INSERT_STMT =
" insert into competition (id, name)"
+ " values (?, ?)"
;
public int insert(Competition competition) {
return jdbcTemplate.update(conn -> {
PreparedStatement ps = conn.prepareStatement(INSERT_STMT);
ps.setInt(1, competition.getId());
ps.setString(2, competition.getName());
return ps;
});
// insert also in date table ???
}
所以,如果我添加這在我的插入函數,它不會影響第一條語句。他們會一個接一個地執行。 –
您應該在兩次調用jdbcTemplate.update的過程中執行此操作。 每個查詢一個調用。 –
您的意思是,我需要構建兩個插入函數,或者只保留一個,並且對jdbcTemplate.update執行兩次調用。 –