MyBatis SQLite使用时,SQLite BUSY出现时的解决,mybatissqlite
SQLite是一个单文件的数据库,在并发访问时,在默认的配置时,很容易出现SQLite BUSY的错误,后来在一个资料上看到,是因为SQLite使用的大文件锁,并且在并发访问时,如果一个访问发现数据文件被锁定了,就会直接返回SQLite BUSY.
在使用jdbc访问的时候,可以直接使用SQLiteConfig来设置。但在使用MyBatis访问SQLite时,需要在MyBatis-config.xml文件中设置这些属性。网上没有资料,所以我debug看了MyBatis的配置过程,发现在MyBatis初始化时,会读取datasource中的propertis中的name的[driver.]的属性,传递给dirve的connection(String url,Properits properties)方法中的properties中。配置文件大致如下:
<property name="driver.journal_mode" value="OFF" />
<property name="driver.synchronous" value="NORMAL" />
<property name="driver.transaction_mode" value="IMMEDIATE" />上面的属性请参考SQLiteConfig
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。