首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ScalikeJdbc多次插入

ScalikeJdbc多次插入
EN

Stack Overflow用户
提问于 2015-07-01 19:17:28
回答 1查看 2.6K关注 0票数 2

如何在同一个事务中执行多个插入?

代码语言:javascript
复制
  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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-27 08:20:34

修改您的insertData方法如下:

代码语言:javascript
复制
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:

代码语言:javascript
复制
DB.localTx { implicit s =>
  dataList.foreach(data => insertData(data))
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31169825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档