使用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
分析iis日志,解决掉5xx(服务代码错误),955(页面加载过慢)
引入分布式缓存
数据库读写分离
网站优化方案大方向都很固定,具体还是根据自己网站的实际情况。可以看看淘宝,京东出的技术书。里面有他们网站的架构,各种问题有对应的解决方案,可以借鉴。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)