jdbc:oracle:thin:@localhost:1521/serviceName
在 10g 以后版本可能默认是用 service name。
将串改一下,你试一下Context envContext = (Context)initContext.lookup("java:/comp/env")
DataSource ds = (DataSource)envContext.lookup("jdbc/oracleds")
这个在spring的 applicationComtext.xml文件里配置(一般是这个文件 你也可以把他改为其他文件名),
#oracle\u89c6\u56fe\u6570\u636e\u5e93\u8fde\u63a5\u53c2\u6570hibernate.dialect=org.hibernate.dialect.OracleDialect
validationQuery.oracle=SELECT 1 FROM DUAL
jdbc.url.crm=jdbc:oracle:thin:@localhost:1521:orcl
jdbc.username.crm=crm
jdbc.password.crm=crm
jdbc.dbType=oracle
#mysql \u6570\u636e\u5e93\u8fde\u63a5\u53c2\u6570
#hibernate.dialect=org.hibernate.dialect.MySQLDialect
#validationQuery.sqlserver=SELECT 1
#jdbc.url.crm=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8
#jdbc.username.crm=root
#jdbc.password.crm=root
#jdbc.dbType=mysql
//配置数据源
<bean id="dbcp_dataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url.crm}" />
<property name="username" value="${jdbc.username.crm}" />
<property name="password" value="${jdbc.password.crm}" />
</bean> -->
。。。。
然后就可以动态的修改数据源集合了
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dbcp_dataSource" />
<!--ORM映射文件:mappingResources-->
<!-- ORM目录 -->
<property name="mappingDirectoryLocations">
<value>classpath:com/zakhas/ospm/model/hbm/</value>
</property>
这里的dbcp_dataSource 是我的oracle数据库,你可以在这里切换其他的数据库。
因为涉及到一些项目,我做了些改动,可能有些错误,不知道你看懂了啵
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)