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');