spring中配置数据源_MySQL
spring中配置数据源的几种常见方式:
#mysql 数据库配置(jdbc.properties) jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/databaseName?useUnicode=true&characterEncoding=UTF-8 jdbc.username=root jdbc.password=root
1.使用spring自带的数据源org.springframework.jdbc.datasource.DriverManagerDataSource;
方式一:
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" p:location="/WEB-INF/jdbc.properties" /> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" p:driverClassName="${jdbc.driverClassName}" p:url="${jdbc.url}" p:username="${jdbc.username}" p:password="${jdbc.password}" />
p标记需要:xmlns:p="http://www.springframework.org/schema/p"
DriverManagerDataSource源码实现:
public class DriverManagerDataSource extends AbstractDriverBasedDataSource { public DriverManagerDataSource() { } public DriverManagerDataSource(String url) { } public DriverManagerDataSource(String url, String username, String password) { } public DriverManagerDataSource(String url, Properties conProps) { } public void setDriverClassName(String driverClassName) { } protected Connection getConnectionFromDriver(Properties props) throws SQLException { } protected Connection getConnectionFromDriverManager(String url, Properties props) throws SQLException { } }
方式二:
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" /> <property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:ORCL" /> <property name="username" value="root" /> <property name="password" value="root" /> </bean>
2.DBCP数据源;
DBCP(DataBase connection pool)。是 apache 上的一个 java 连接池项目,也是 tomcat 使用的连接池组件。单独使用dbcp需要2个包:commons-dbcp.jar,commons-pool.jar由于建立数据库连接是一个非常耗时耗资源的行为,所以通过连接池预先同数据库建立一些连接,放在内存中,应用程序需要建立数据库连接时直接到连接池中申请一个就行,用完后再放回去。
<bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="${jdbc.driverClassName}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> </bean>
DBCP实现:
class JdbcUtil { private static BasicDataSource bds; static { if(bds==null) { bds= new BasicDataSource(); } //分别设置数据库的连接参数 bds.setDriverClassName(); bds.setUrl(); bds.setUsername(); bds.setPassword(); } public static Connection getConnection() { return bds.getConnection(); }
3.C3P0数据源;
C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的有Hibernate,Spring等。
依赖jar包:c3p0-0.9.1.jar、c3p0-0.9.1.2.jar、c3p0-0.9.1-pre6.jar
c3p0与dbcp区别:
dbcp没有自动回收空闲连接的功能
c3p0有自动回收空闲连接功能
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <property name="driverClass"><value>oracle.jdbc.driver.OracleDriver</value></property> <property name="jdbcUrl"><value>jdbc:oracle:thin:@localhost:1521:Test</value></property> <property name="user"><value>root</value></property> <property name="password"><value>root</value></property> <!--连接池中保留的最小连接数。--> <property name="minPoolSize" value="10" /> <!--连接池中保留的最大连接数。Default: 15 --> <property name="maxPoolSize" value="100" /> <!--最大空闲时间,1800秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 --> <property name="maxIdleTime" value="1800" /> <!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 --> <property name="acquireIncrement" value="3" /> <property name="maxStatements" value="1000" /> <property name="initialPoolSize" value="10" /> <!--每60秒检查所有连接池中的空闲连接。Default: 0 --> <property name="idleConnectionTestPeriod" value="60" /> <!--定义在从数据库获取新连接失败后重复尝试的次数。Default: 30 --> <property name="acquireRetryAttempts" value="30" /> <property name="breakAfterAcquireFailure" value="true" /> <property name="testConnectionOnCheckout" value="false" /> </bean>
4.JNDI数据源;
如果应用配置在高性能的应用服务器(如WebLogic或Websphere等)上,我们可能更希望使用应用服务器本身 提供的数据源。应用服务器的数据源 使用JNDI开放调用者使用,Spring为此专门提供引用JNDI资源的 JndiObjectFactoryBean类。下面是一个简单的配置:
方式一:
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName" value="java:comp/env/jdbc/bbt"/> </bean>
value值即JNDI的名称
方式二:
<bean id="queueTarget" class="org.springframework.jndi.JndiObjectTargetSource"> <property name="jndiName"> <value>queue/testQueue</value> </property> </bean>
方式三:
如果不使用JndiTemplate实现InitialContext环境变量的配置,则需要jndi.properties文件(放在classpath中,一般放在src下面),内容如下
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory java.naming.provider.url=jnp://localhost:1099 java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
方式四:
使用JndiTemplate实现InitialContext环境变量的配置,例如
<bean id="queueTarget" class="org.springframework.jndi.JndiObjectTargetSource"> <property name="jndiName"> <value>queue/testQueue</value> </property> <property name="jndiTemplate"> <ref local="jndiTemplate"/> </property> </bean> <bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate"> <property name="environment"> <props> <prop key="java.naming.factory.initial">org.jnp.interfaces.NamingContextFactory</prop> <prop key="java.naming.provider.url">jnp://localhost:1099</prop> <prop key="java.naming.factory.url.pkgs">org.jboss.naming:org.jnp.interfaces</prop> </props> </property> </bean>

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

當PowerBI無法連接到XLS、SQL或Excel檔案的資料來源時,可能會遇到困難。本文將探討可能的解決方案,以協助您解決此問題。如果您在連線過程中遇到錯誤或連線失敗的情況,本文將引導您採取一些措施。因此,如果您面臨這個問題,請繼續閱讀,我們將為您提供一些有用的建議。 PowerBI中的閘道連線錯誤是什麼? PowerBI中的網關錯誤通常是由資料來源資訊與底層資料集不符所引起的。要解決這個問題,需要確保本地資料閘道上定義的資料來源與PowerBI桌面中指定的資料來源是準確且一致的。 PowerBI無法連接

標題:如何使用MyBatis實作批量Insert操作MyBatis是一款優秀的持久層框架,廣泛應用於Java開發中。在實際開發中,經常會遇到需要批量插入資料的情況,本文將詳細介紹如何使用MyBatis來實現批量Insert操作,並附帶具體的程式碼範例。步驟一:配置MyBatis在專案中引入MyBatis,並配置MyBatis的相關信息,包括資料庫連接資訊、Ma

PHPPDOPHPPDO(phpDataObjects)是一個物件導向的資料存取抽象層,允許開發者使用統一的介面連接到各種資料庫管理系統(DBMS)。它提供了與資料庫互動的標準方法,無論底層的DBMS是何種。 PDO的優點:統一介面:PDO提供統一的api,用於連接、執行查詢和取得結果,從而簡化了與不同DBMS的互動。 PreparedStatements:PDO支援預處理語句,這有助於防止sql注入攻擊並提高效能。事務支援:PDO允許管理事務,確保資料庫操作要麼全部成功,要麼全部失敗。錯誤處理:P

資料來源的意思是「資料庫應用程式所使用的資料庫或資料庫伺服器」;資料來源也是資料的來源,是提供某種所需要資料的裝置或原始媒體,在資料來源中儲存了所有建立資料庫連線的信息,透過提供正確的資料來源名稱,可以找到相應的資料庫連接。

隨著網路的快速發展,數據成為了企業發展的重要資源。為了更好地利用數據,我們需要將數據從不同的數據來源中提取出來進行分析和處理。在這篇文章中,我們將重點放在如何在Yii框架中從不同的資料來源中取得資料。一、從MySQL資料庫中提取資料MySQL是目前最受歡迎的關係型資料庫之一,它的安裝和使用非常簡單。以下我們將介紹如何在Yii框架中從MySQL資料庫中擷取數據

當我們談論當今商業領域和社會中的人工智慧時,我們其實指的是機器學習。機器學習是一種應用,透過使用演算法(一組指令)變得越來越擅長執行某項特定任務,因為它接觸了越來越多與這項任務相關的資料。這些任務可以是任何任務,從回答問題、創建文字或圖像(如ChatGPT或Dall-E等應用程式所能做的)到識別圖像(電腦視覺)或把自動駕駛汽車從A地導航到B地。所有這些任務都需要數據,那些想要訓練自己的機器學習演算法以自動執行日常任務的企業,他們需要一些資料來源。有哪些類型的數據?企業資料通常分為兩類-內部資料和外部

C++中集成外部数据源可大幅拓展数据分析能力。步驟包括:選擇與目標數據源兼容的連接器,根據數據源要求建立連接,並使用SQL進行查詢。一個使用ODBC連接器連接MySQL的實例顯示如何提取數據結果。集成外部數據源可豐富分析過程、做出更明智的決策。

隨著網路和大數據時代的到來,數據已經成為了人們生活中不可或缺的一部分。大型企業和組織需要處理龐大的資料集來促進業務發展。對於資料科學家和研究人員來說,尋找可靠、高效的資料來源是他們的首要任務。而Go語言則成為了分散式系統作為資料來源的理想選擇。 Go語言(簡稱Golang)是一種以同時進行程式設計的程式語言。它最初由Google在2009年開發,旨在為大型應用程式提供
