1. 實體類一對多的時候怎麼添加數據
使用List集合形式的參數的批量操作
如果使用List集合來進行批量操作,首先要把待添加的數據與實體類對應(一個實體類通常對應資料庫里的一張表, 下面的例子中Actor類就是一個實體類, 它對應了資料庫中的 "t_actor"數據表).
比如"t_actor"數據表中有id,first_name,last_name三個欄位, 那麼對應Actor類就要有id, firstName, lastName屬性, 且都得有getter, setter方法.
spring jdbc core 包中提供了一個SqlParamterSource 對象,這個對象用於SQL語句參數的設置.
使用SqlParameterSourceUtils.createBatch這個方法,把javabean(即上面說的實體類)的list 轉化成array,spring會循環的進行取值;
public class JdbcActorDao implements ActorDao { private NamedParameterTemplate namedParameterJdbcTemplate; public void setDataSource(DataSource dataSource) { this.namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(dataSource); } public int[] batchUpdate(final List<Actor> actors) { SqlParameterSource[] batch = SqlParameterSourceUtils.createBatch(actors.toArray()); int[] insertCounts = namedParameterJdbcTemplate.batchUpdate( "INSERT INTO t_actor (id,first_name,last_name) VALUES(:id,:firstName, :lastName )",batch); return insertCounts; } // ... additional methods}
2. 如何用一個form 向一資料庫 的多個 表 同時插入數據
form可以把action提交一個servlet中,在servlet中連接資料庫,sql語句寫"insert
「語句就ok了,
3. 怎樣向sql一對多關系的數據表中插入數據
提交信息時
先把課程信息插入課程表(course)
insert into course (title,discretion) values ('課程名','相關信息');
查出 課程的ID
select ID from course where title='課程名'
再在courseasooteacher表裡也要插入老師和課程相對應的ID值
你根據選擇的老師得到老師ID,再進行多次插入不就可以了?
insert into courseasooteacher(courseID、teacherID)values('上面查出的ID',『選擇的老師ID');