Spring的web项目,如何控制在某个时间段内(比如2秒内)来自不同请求线程的同类Insert操作先在Service里“排队”,然后在这段时间结束时统一地调用Dao层批量向数据库提交作业?以便减少数据库连接次数
消息队列.
Thread.sleep
调用Dao层批量向数据库提交作用,我不知道你是怎么理解的,如果你的意思是将多条数据同时插入到同一个表中,那么可以先甄别SQL语句中使用的表和字段,然后使用一个Map类型来存储相对应的SQL语句,这样可以做到同时插入,但是只有在大量相同插入数据的时候是可行的,因为你甄别一条数据也是要花费时间的,所以如果只是少量的数据,不如使用线程池的方式,设置好最少连接数,让线程池去管理这些不同线程类中的插入语句,而且使用线程池,数据库的连接次数是可以锁定在一个范围。