论坛首页 Java企业应用论坛

ibatis2.3.4 + h2 1.3.146数据不能保存的问题

浏览 1808 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-01-13   最后修改:2011-01-13

一个简单的测试用例中ibatis2.3.4 + h2 1.3.146。只有一个map类,

H2是用的Embedded模式运行的

 

package org.jamsa

case class User(var userName:String,var id:Int){
	def this()=this("abc",-1)
}

import com.ibatis.sqlmap.client.SqlMapClientBuilder
import com.ibatis.common.resources.Resources
object Client {
  val sqlMapClient = initSqlMapClient();
  private def initSqlMapClient()={
    SqlMapClientBuilder.buildSqlMapClient(Resources.getResourceAsReader("sql-map-config.xml"))
  }
}

import com.ibatis.common.resources.Resources
import Client.sqlMapClient

object UserDao {
  
  def getUser(id:Int)={
    sqlMapClient.queryForObject("getUser",id).asInstanceOf[User]
  }
  
  def addUser(user:User)={
    sqlMapClient.insert("addUser",user)
  }
  
  def deleteUser(id:Int)={
    sqlMapClient.delete("deleteUser",id)
  }

  def main(args:Array[String]){
    var user = User("abc5",5)
    addUser(user)
    Thread.sleep(2000)
  }
}

  如果不加Thread.sleep这行,数据就不会被保存到数据库里去。

从控制台可以看到语句都执行了,但是数据没有被保存进去。

如果H2以Server模式运行,没有出现这个问题。

暂时没找到具体原因

论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics