當前位置:首頁 » 數據倉庫 » spring動態鏈接資料庫
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

spring動態鏈接資料庫

發布時間: 2022-12-15 12:09:54

㈠ spring 怎麼動態配置 連接不同的資料庫.oracle 或是mysql

不知道你說的動態配置是怎樣的

---------------------------------spring配置文件--------------------------------------------

<!--從根路徑下的db.properties載入數據源信息-->
<context:property-placeholder
ignore-unresolvable="true"location="classpath:db.properties"/>
<!--數據源配置,使用DBCP資料庫連接池-->
<beanid="dataSource"class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<!--ConnectionInfo-->
<propertyname="driverClassName"value="${jdbc.driver}"/>
<propertyname="url"value="${jdbc.url}"/>
<propertyname="username"value="${jdbc.user}"/>
<propertyname="password"value="${jdbc.password}"/>
<propertyname="maxActive"value="${dbcp.maxActive}"/>
<propertyname="maxIdle"value="${dbcp.maxIdle}"/>
<propertyname="timeBetweenEvictionRunsMillis"value="3600000"/>
<propertyname="minEvictableIdleTimeMillis"value="3600000"/>
</bean>

-------------------------------------db.properties--------------------------------------

//把driver改成oracle的,下面也相應改成oracle的信息就能把數據源設置為oracle
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://172.19.0.127:8066/addl
jdbc.user=root
jdbc.password=
dbcp.maxActive=10
dbcp.maxIdle=10

㈡ springboot jdbc 動態連接資料庫

將3DES_EDE_CBC注釋掉即可

㈢ 如何用spring 調用資料庫連接使用jdbc

一 ,使用spring的jdbc
1.在myeclipse添加spring jar包,
添加Spring2.5 Core/AOP/ JDBC Library
2.在applicationContext.xml中,配置jdbc bean:

㈣ spring 怎麼動態配置 連接不同的資料庫.oracle 或是mysql

這個在spring的 applicationComtext.xml文件里配置(一般是這個文件 你也可以把他改為其他文件名)

//配置數據源
<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資料庫,你可以在這里切換其他的資料庫。
因為涉及到一些項目,我做了些改動,可能有些錯誤,不知道你看懂了啵

㈤ jsp,用spring框架連接oracle資料庫

用spring框架連接oracle資料庫可以通過配置數據源的方式:
Spring 資料庫連接配置
oracle為例來說明:
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.101)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl)(SERVER=DEDICATED)))" />
<property name="username" value="rootl" />
<property name="password" value="1234" />
</bean>
擴展其他資料庫:
二 DB2
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.ibm.db2.jdbc.app.DB2Driver" />
<property name="url" value="jdbc:db2:thin:@localhost:5000/testDB" />
<property name="username" value="rootl" />
<property name="password" value="1234" />
</bean>
三 SQL Server
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.microsoft.jdbc.sqlserver.SQLServerDriver" />
<property name="url" value="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName = testDB" />
<property name="username" value="rootl" />
<property name="password" value="1234" />
</bean>
三 MySQL
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="org.postgresql.Driver" />
<property name="url" value="jdbc:postgresql://localhost/ testDB" />
<property name="username" value="rootl" />
<property name="password" value="1234" />
</bean>

org.apache.commons.dbcp.BasicDataSource 需要commons-pool.jar,commons-dbcp-1.2.2.jar,commons-collections-3.2.jar三個JAR包

㈥ SpringBoot整合MyBatisPlus配置動態數據源

MybatisPlus特性

快速開始

初始化測試數據表:

父工程依賴

該工程用於依賴管理,pom如下:

創建MyBaitsPlus工程

依賴如下:

properties配置

在這里配置資料庫連接,以及數據連接池與mybatisplus的配置等

常規增刪改查實現

創建實體類:

該lombok插件省去getset方法。

創建UserMapper介面,並且實現BaseMapper<User>這里我們指定實體類為user可直接使用介面中的方法。

UserMapper.xml,如下:

執行SQL:

在SpringBoot中使用MybatisPlus分頁需要注入Bean,並且在啟動類上使用@MapperScan("com.simple.spring.boot.mapper")掃描mapper文件路徑如下:

使用MyBatisPlus可以為我們減少很多很多的代碼,不過需要編寫實體類,有失必有得。

配置動態數據源

dynamic-datasource-spring-boot-starter 是一個基於springboot的快速集成多數據源的啟動器。

優勢

網上關於動態數據源的切換的文檔有很多,核心只有兩種。

如果你的數據源較少,場景不復雜,選擇以上任意一種都可以。如果你需要更多特性,請嘗試本動態數據源。

劣勢

不能使用多數據源事務(同一個數據源下能使用事務),網上其他方案也都不能提供。

如果你需要使用到分布式事務,那麼你的架構應該到了微服務化的時候了。

如果呼聲強烈,項目達到800 star,作者考慮集成分布式事務。

PS: 如果您只是幾個資料庫但是有強烈的需求分布式事務,建議還是使用傳統方式自己構建多套環境集成atomic這類,網上網路很多。

約定

建議

強烈建議在 主從模式 下遵循普遍的規則,以便他人能更輕易理解你的代碼。

主資料庫 建議 只執行 INSERT UPDATE DELETE 操作。

從資料庫 建議 只執行 SELECT 操作。

快速開始

加入依賴:

注釋掉原來的資料庫配置,加入:

使用 @DS 切換數據源。

@DS 可以註解在方法上和類上, 同時存在方法註解優先於類上註解

註解在service實現或mapper介面方法上,但強烈不建議同時在service和mapper註解。 (可能會有問題)

如果不加入主鍵則使用默認數據源。

DruidDataSourceAutoConfigure會注入一個DataSourceWrapper,其會在原生的spring.datasource下找url,username,password等。而我們動態數據源的配置路徑是變化的,所以需要排除:

或者在類上排除:

然後更換properties配置信息:

本篇代碼案例地址:

https://github.com/450255266/open-doubi

作者:SimpleWu

出處:https://www.cnblogs.com/SimpleWu/p/10930388.html

㈦ Spring里的 c3p0連接資料庫

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass" value="com.mysql.jdbc.Driver" />
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/code" />
<property name="user" value="root" />
<property name="password" value="111111" />
<!-- 指定連接資料庫連接池的最小連接數 -->
<property name="minPoolSize" value="10" />
<!-- 指定連接資料庫連接池的最大連接數 -->
<property name="maxPoolSize" value="30" />
<!-- 指定連接資料庫連接池的連接的最大空閑時間 -->
<property name="maxIdleTime" value="1800" />
<property name="acquireIncrement" value="2" />
<property name="maxStatements" value="0" />
<!-- 指定連接資料庫連接池的初始化連接數 -->
<property name="initialPoolSize" value="2" />
<property name="idleConnectionTestPeriod" value="1800" />
<property name="acquireRetryAttempts" value="30" />
<property name="breakAfterAcquireFailure" value="true" />
<property name="testConnectionOnCheckout" value="false" />
</bean>

這個是正確的配置,你看下是不是配置文件寫錯了。
jar的話放在lib之後,清理下項目work目錄,重新載入下,應該就可以了

㈧ springboot怎樣動態配置資料庫並設置默認數據源

1,需要配置DynamicDataSource,DynamicDataSourceAspect,,DynamicDataSourceRegister,TargetDataSource來完成多數據源的配置 2,需要在配置文件中定義多數據源 3,測試過只有在前端調用過程中能夠用多數據源,如果在各個中心去配置是行不通的,已經親測過了。可以看看csdn上的我的這篇文章: spring boot動態數據源配置

㈨ spring 怎麼動態配置 連接不同的資料庫。oracle 或是mysql

這個在spring的 applicationComtext.xml文件里配置(一般是這個文件 你也可以把他改為其他文件名),

#
hibernate.dialect=org.hibernate.dialect.OracleDialect
validationQuery.oracle=SELECT1FROMDUAL
jdbc.url.crm=jdbc:oracle:thin:@localhost:1521:orcl
jdbc.username.crm=crm
jdbc.password.crm=crm
jdbc.dbType=oracle


#
#hibernate.dialect=org.hibernate.dialect.MySQLDialect
#validationQuery.sqlserver=SELECT1
#jdbc.url.crm=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8
#jdbc.username.crm=root
#jdbc.password.crm=root
#jdbc.dbType=mysql

//配置數據源
<beanid="dbcp_dataSource"destroy-method="close"class="org.apache.commons.dbcp.BasicDataSource">
<propertyname="driverClassName"value="${jdbc.driverClassName}"/>
<propertyname="url"value="${jdbc.url.crm}"/>
<propertyname="username"value="${jdbc.username.crm}"/>
<propertyname="password"value="${jdbc.password.crm}"/>
</bean>-->

在這里你可以多配置幾個數據源
。。。。

然後就可以動態的修改數據源集合了
<beanid="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<propertyname="dataSource"ref="dbcp_dataSource"/>
<!--ORM映射文件:mappingResources-->
<!--ORM目錄-->
<propertyname="mappingDirectoryLocations">
<value>classpath:com/zakhas/ospm/model/hbm/</value>
</property>


這里的dbcp_dataSource是我的oracle資料庫,你可以在這里切換其他的資料庫。
因為涉及到一些項目,我做了些改動,可能有些錯誤,不知道你看懂了啵

㈩ spring+hibernate 使用SQLQuery連接了一個ORACLE資料庫,現在用戶退出系統,要求斷開資料庫連接,應該怎麼

你用了spring,但卻沒有看到你把session注入到配置文件中,
applicationContext.xml也沒有看到關於事物的配置。
用了spring後這些應該都交給spring來做的,我們是不用管close的,不然用spring還有什麼用,配置半天還和原來一樣,那還不如不用呢。
下面是spring3.0 + hibernate3.5的配置文件的部分代碼,完整代碼太多發不上來,你可以到csdn下載頻道搜索寫ssh整合的例子,可以給你最大程度上的幫助。
- <!-- 配置事物管理器
-->
- <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="mySessionFactory" />
</bean>
- <!-- 配置advice 事物傳播特性
-->
- <tx:advice id="txAdvice" transaction-manager="transactionManager">
- <tx:attributes>
<tx:method name="*" propagation="REQUIRED" />
</tx:attributes>
</tx:advice>
- <!-- 事務管理器應用范圍
-->
- <aop:config>
<aop:pointcut id="affectMethods" expression="execution(* com..*.*(..))" />
<aop:advisor advice-ref="txAdvice" pointcut-ref="affectMethods" />
</aop:config>