如何在同一个事务中执行多个插入?
def insertData(dataList: List[Data])(implicit session: DBSession = autoSession) = {
// todo: this is probably opening and closing a connection every time?
dataList.foreach(data => insertData(data))
}
def insertData(data: Data) = withSQL {
val t = DataTable.column
insert.into(DataTable).namedValues(
d.name -> data.name,
d.title -> data.title
)
}.update().apply()如果每一次插入都有一个不同的事务,如果它们编号在几千个以上,那是没有效率的。
http://scalikejdbc.org/documentation/operations.html
发布于 2015-07-27 08:20:34
修改您的insertData方法如下:
def insertData(data: Data)(implicit session: DBSession = AutoSession) = withSQL {
val t = DataTable.column
insert.into(DataTable).namedValues(
d.name -> data.name,
d.title -> data.title
)
}.update().apply()然后,使用DB.localTx:
DB.localTx { implicit s =>
dataList.foreach(data => insertData(data))
}https://stackoverflow.com/questions/31169825
复制相似问题