实体类一对多的时候怎么添加数据

实体类一对多的时候怎么添加数据,第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}

听你口气是用的hiberante吧,毕竟jdbc没有这么一说,一对多的话要这样写

<set name="erwinRzXtczxdbs" inverse="true" casecade="凯携save-update">

需要有cascade属性,然后save-update就能给插进去了,你可以到网上查一下这个属性,还要注意的是蠢帆inverse这个属性,不盯档伏设置好可能子表没有外键那一列没办法插进去,以上


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/8035047.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存