欢迎投稿

今日深度:

MyBatis SQLite使用时,SQLite BUSY出现时的解决,mybatissqlite

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

www.htsjk.Com true http://www.htsjk.com/SQLite/26972.html NewsArticle MyBatis SQLite使用时,SQLite BUSY出现时的解决,mybatissqlite SQLite是一个单文件的数据库,在并发访问时,在默认的配置时,很容易出现SQLite BUSY的错误,后来在一个资料上看到,是因为SQLi...
相关文章
    暂无相关文章
评论暂时关闭