spring 配置sqlite的方式

洪小燈發表於2016-01-27

sqlite作為一種嵌入式資料庫越來越受歡迎,特別是在小型的專案中,下面介紹兩種spring配置sqlite資料庫的方式

第一種:配置在tomcat目錄下

 1、在tomcat根目錄下建立dbs資料夾,將sqlite檔案放到該目錄下(暫定為test.db)

  2、在tomcat跟目錄conf目錄下找到context.xml檔案,在<context></context>標籤內新增如下內容

<Context>

    <!-- Default set of monitored resources -->
    <WatchedResource>WEB-INF/web.xml</WatchedResource>

    <!-- Uncomment this to disable session persistence across Tomcat restarts -->
    <!--
    <Manager pathname="" />
    -->

    <!-- Uncomment this to enable Comet connection tacking (provides events
         on session expiration as well as webapp lifecycle) -->
    <!--
    <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
    -->

 <Resource auth="Container" description="DB Connection" 
		 name="jdbc/sqlite"
		 driverClass="org.sqlite.JDBC"
		 jdbcUrl="jdbc:sqlite:/${catalina.home}/dbs/test.db"
		 maxPoolSize="10" 
		 minPoolSize="1" 
		 acquireIncrement="1" 
		 idleConnectionTestPeriod="60"
		 preferredTestQuery="select 1"
		 factory="org.apache.naming.factory.BeanFactory" 
		 type="com.mchange.v2.c3p0.ComboPooledDataSource" />
<!--<Loader delegate="true" />
-->
</Context>
3、在spring的配置檔案中加上

<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">

		<property name="jndiName" value="java:comp/env/jdbc/sqlite" />
	</bean>
配置jndi連線

第二種:將sqlite放在專案中

  1、將test.db檔案放到專案src目錄下的dbs資料夾下

  2、在spring的配置檔案中加上

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
		destroy-method="close">
		<property name="driverClass" value="org.sqlite.JDBC" />
		<property name="jdbcUrl" value="jdbc:sqlite::resource:dbs/test.db" />
		<property name="initialPoolSize" value="5" />
		<property name="minPoolSize" value="1" />
		<property name="maxPoolSize" value="10" />
		<property name="maxStatements" value="100" />
		<property name="maxIdleTime" value="3600" />
		<property name="acquireIncrement" value="2" />
		<property name="acquireRetryAttempts" value="10" />
		<property name="acquireRetryDelay" value="600" />
		<property name="testConnectionOnCheckin" value="true" />
		<property name="idleConnectionTestPeriod" value="1200" />
		<property name="checkoutTimeout" value="10000" />
	</bean>
這就完成了配置

兩中方式各有各的優點和缺點,使用時請自行衡量,以上所有的前提是資料庫連線驅動存在於專案中

相關文章