Spring MVC 批量添加数据怎么做

Spring MVC 批量添加数据怎么做,第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

}

http://www.tuicool.com/articles/Ar6RNr

两种向Set中添加元素的方法,第一种是使用add()方法,每次添加一个元素到set中,当集合中不存在相同元素时将添加到集合中,并返回true,当集合中存在元素时,返回false。代码如下:

Set<String>sets = new HashSet<>()

sets.add("String")

System.out.println(sets.add("Tree"))

System.out.println(sets.add("String"))

List<String>lists = new LinkedList<>()

lists.add("test")

lists.add("test")

lists.add("one")

System.out.println(sets.addAll(lists))

还有一个是向集合中批量添加元素的方法addAll(),这个方法的入参是Colletion。上述代码执行结果如下:

扩展知识

Set集合可以知道某物是否已近存在于集合中,不会存储重复的元素,注重独一无二的性质,用于存储无序(存入和取出的顺序不一定相同)元素,值不能重复。可以很好地作为排重时使用的数据结构,但要注意集合内部数据一般情况没有顺序。常用的set有HashSet和TreeSet。

TreeSet是JAVA中集合的一种,TreeSet 是一个有序的集合,它的作用是提供有序的Set集合。它继承于AbstractSet抽象类,实现了NavigableSet<E>,Cloneable,java.io.Serializable接口。一种基于TreeMap的NavigableSet实现,支持2种排序方式:自然排序 或者 根据创建TreeSet 时提供的 Comparator 进行排序。


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

原文地址:https://54852.com/bake/11709250.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存