jpetstore移植oracle
(1)首先表扬一下jpetstore的开发人员 ,数据库脚本全部使用的标准sql,不依赖任何的数据库。 数据库脚本一次就在oracle8 运行成功,让我惊讶万分,很多开源的demo在这点上真是差远了,说明myibatis的开发人员还是很敬业的。
(2)然后在WEB-INF\classes目录下 增加一个application.properties文件,这个文件用来存储数据库设置,这样可以使程序在多数据库之间自由切换www.zzzyk.com
这个文件的内容如下
#oracle database settings
jdbc.driver=oracle.jdbc.driver.OracleDriver
jdbc.url=jdbc:oracle:thin:@127.0.0.1:1521:orcl
jdbc.username=user
jdbc.password=1234
#dbcp settings
dbcp.maxIdle=5
dbcp.maxActive=40
(3)接下来修改applicationContext.xml
注解掉嵌入式数据库
<!-- in-memory database and a datasource
<jdbc:embedded-database id="dataSource">
<jdbc:script location="classpath:database/jpetstore-hsqldb-schema.sql"/>
<jdbc:script location="classpath:database/jpetstore-hsqldb-dataload.sql"/>
</jdbc:embedded-database>
-->
增加
<context:property-placeholder ignore-unresolvable="true"
location="classpath*:/application.properties" />
<!-- 数据源配置, 使用DBCP数据库连接池 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<!-- Connection Info -->
<property name="driverClassName" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<!-- Connection Pooling Info-->
<property name="maxActive" value="${dbcp.maxActive}" />
<property name="maxIdle" value="${dbcp.maxIdle}" />
<property name="defaultAutoCommit" value="false" />
<!-- 连接Idle一个小时后超时 -->
<property name="timeBetweenEvictionRunsMillis" value="3600000" />
<property name="minEvictableIdleTimeMillis" value="3600000" />
</bean>
<!-- transaction manager, use JtaTransactionManager for global tx -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
(4)记得在build path 中增加oracle的jdbc jar包 和 commons-pool-1.5.4.jar 和commons-dbcp-1.3.jar
一般情况下重新部署打包就OK了。
我这里还出现一个特殊情况,报了一个连接错误,所以最好jdbc的版本和数据库要一致。
补充:Web开发 , 其他 ,