導航:首頁 > 數據處理 > Java數據源是什麼意思

Java數據源是什麼意思

發布時間:2023-02-16 17:34:03

⑴ java框架數據源

<bean
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<propertyname="locations">
<list>
<value>classpath:config/db.properties</value>
</list>
</property>
</bean>

你那報錯可能就是配置文件沒有載入成功,試試用這種方式載入配置文件,這種方式可以同時載入多個配置文件。如果還不行的話就試試在config這個包上點右鍵 Build path->Exclude。

都不行的話直接把配置文件放出來吧,不要放在config下了

⑵ 如何創建 DataSource

你好,可以參見下面:
數據源是資料庫連接池裡面的概念,連接池就是指當伺服器啟動時,先建立幾個連接,在應用需要與資料庫連接時,就從連接池裡獲取,使用完以後,不是將連接斷掉,而是放回到池裡面,這樣就減少了數據連接創建的次數,大大提高了連接性能。而數據源就是給伺服器一個配置信息,然伺服器就知道怎麼使用JDBC驅動,比如url參數,資料庫實例名、用戶名與密碼等等。Java中的數據源就是javax.sql.DataSource。DataSource的創建可以有不同的實現,下面以mysql為例介紹幾種常見DataSource的創建方法:
一、JNDI方式創建DataSource
以JNDI方式創建數據源首先要配置數據源的相關連接信息,也就是數據源連接池。該配置應該在Tomcat安裝目錄下的conf/context.xml文件中配置,在Eclipse的J2EE架構下,也可以把context.xml文件創建在/META-INF目錄下。其配置如下:
<Context><!--MySql-->
<Resource name="jdbc/movie" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="[用戶名]" password="[密碼]" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/[實例名]?autoReconnect=true"/>
</Context>
正確的配置後,就可以在程序中以JNDI的方式創建數據源,得到資料庫連接並進行相應的操作。代碼如下:

try {
Context context = new InitialContext();
if (context == null){
throw new Exception("create context failed!");
}
DataSource ds = (DataSource) context.lookup("java:comp/env/jdbc/[實例名]");
if (ds == null) {
Thread.sleep(2000);
ds = (DataSource) context.lookup("java:comp/env/jdbc/[實例名]");
if (ds == null) {
throw new Exception("get datasource failed!");
}
}
} catch (NamingException ne) {
throw ne;
} catch (Exception e) {
throw e;
}

二、Apache提供的簡單連接池創建數據源
以這種方式創建數據源必須先准備兩個jar文件:commons-dbcp.jar 和 commons-pool.jar,將這兩個jar包放到WEB-INF/lib目錄下。以這種方式創建的數據源就不再是javax.sql.DataSource了,而是org.apache.commons.dbcp.BasicDataSource。而且不再需要配置任何文件就可以直接使用。代碼如下:

// 創建BasicDataSource對象
BasicDataSource ds = new BasicDataSource();
ds.setDriverClassName("com.mysql.jdbc.Driver");
ds.setUrl("jdbc:mysql://localhost:3306/[實例名]");
ds.setUsername("[用戶名]");
ds.setPassword("[密碼]");
ds.setInitialSize(50);
ds.setMaxActive(100);
ds.setMaxIdle(30);
ds.setMaxWait(10000);
// 關閉數據源連接
ds.close();

三、C3P0方式創建數據源
使用C3P0方式創建數據源應該首先准備一個jar文件:c3p0-0.9.1.2.jar,將其放到WEB-INF/lib目錄下,就可以在項目中使用C3P0創建數據源,C3P0創建的數據源對象也不是DataSource對象,而是ComboPooledDataSource,代碼如下:

// 創建ComboPooledDataSource對象
ComboPooledDataSource ds = new ComboPooledDataSource();
ds.setDriverClass("com.mysql.jdbc.Driver");
ds.setJdbcUrl("jdbc:mysql://localhost:3306/[實例名]");
ds.setUser("[用戶名]");
ds.setPassword("[密碼]");
ds.setInitialPoolSize(50);
ds.setMaxPoolSize(100);
ds.setMaxIdleTime(10000);

四、Proxool方式創建數據源
採用該方式創建數據源需要准備的jar包:proxool-01.9.0RC3.jar,將其放到WEB-INF/lib目錄下,之後就可以項目中創建ProxoolDataSource對象,其代碼如下:

// 創建ProxoolDataSource對象
ProxoolDataSource ds = new ProxoolDataSource();
ds.setDriver("com.mysql.jdbc.Driver");
ds.setDriverUrl("jdbc:mysql://localhost:3306/[實例名]");
ds.setUser("[用戶名]");
ds.setPassword("[密碼]");

五、BoneCP方式創建數據源
BoneCP是一個快速高效,開源免費的Java資料庫接池。創作者稱,BoneCP在性能上會完全超越所有主流的Java連接池。它可以幫你管理數據連接,讓你的應用程序能更快速地訪問資料庫。比C3P0/DBCP(DataBaseconnection pool,資料庫連接池)連接池快25倍。這個資料庫連接池採用Google Collection作為內部的集合類框架,而且現在的版本已經很穩定。要使用BoneCP,必須用到的jar文件有:
· bonecp-0.6.5.jar
· google-collections-1.0.jar
· slf4j-api-1.5.11.jar
· slf4j-log4j12-1.5.11.jar
· log4j-1.2.15.jar
將這些jar包放到WEB-INF/lib目錄下,就可以在程序中創建BoneCPDataSource對象,代碼如下:

// 創建BoneCPDataSource對象
BoneCPDataSource ds = new BoneCPDataSource();
ds.setDriverClass("com.mysql.jdbc.Driver");
ds.setJdbcUrl("jdbc:mysql://localhost:3306/[實例名]");
ds.setUsername("[用戶名]");
ds.setPassword("[密碼]");
ds.setAcquireIncrement(1);
ds.setAcquireRetryDelay(10000);
ds.setIdleConnectionTestPeriod(100);
ds.setMinConnectionsPerPartition(2);
ds.setMaxConnectionsPerPartition(20);
ds.setPartitionCount(2);

在創建完數據源之後,就可以利用jdbc在程序與資料庫之間建立連接,但要注意的是,要有相關的jdbc驅動包,不同的資料庫需要不同的驅動,一般在各個資料庫官方網都可以獲取。
望採納!

⑶ 什麼是數據源JDBC,ODBC兩個應該怎麼理解

數據源--Data
source
,
讀取數據的來源,也就是說你的系統要讀取的數據去
什麼地方找(存放數據的地方)!
JDBC--全稱為Java
DataBase
Connectivity
standard,
它是一個面向對象
的應用程序介面(API),
通過它可訪問各類關系資料庫。
ODBC--全稱(Open
Database
Connectivity),即開放資料庫互聯。
ODBC基於SQL(Structured
Query
Language),並把它作為訪問資料庫的標准。

⑷ 在java中,連接池,JNDI,數據源主要指的是什麼他們之間是什麼關系

一般小系統用JDBC來連接資料庫,
比較大的項目,肯定使用連接池。
在使用tomcat伺服器時,必然要用它的連接池
我們調用依靠JNDI(Java命名服務)
需要配置,和調用的代碼嗎?

⑸ java中數據源和連接池是什麼現在還用得上么

我知道的是打個比方
數據源就像是移動的客服的接線人員,連接池就是一個容器,打電話進來,從裡面給你分配一個連接,系統給你一個名額,,使用完成釋放,其他的打進來的再用,現在不少的項目還用的上.

⑹ java什麼是數據源

初學者還是不要碰Java編程思想的好,不過知道編程的基礎知識的話Java編程思想絕對是好書,經典大作啊!

⑺ javaEE數據源有哪些 並說明他們的區別

1. Apache的DBCP數據源,Tomcat默認的數據源,配置簡單,但缺點是dbcp 是單線程的,為了保證線程安全會鎖整個連接池,dbcp 性能不太好
2. C3P0數據源, 開源的數據源,使用XML和Properties配置,但配置文件只能放在類路徑下
3. 阿里的druid數據源, 沒用過所以不清楚
4. Tomcat 從 7.0 開始引入一個新的模塊: Tomcat jdbc pool 向前兼容 dbcp ,性能更高

⑻ java數據源配置的問題

首先,你要明白,什麼是數據源,數據源跟數據連接池有什麼區別。
一般我們在程序裡面配置的,最多都是數據連接源,而不是數據連接池。
其次,在tomcate裡面配置有個什麼好處呢,』
如果一個伺服器,裡面有多個獨立的應用,
那麼,我們配置一個數據源,只需要在程序裡面配置一下JNDI,就可以了,每個程序都
指向這個數據源就好了。
可是有一天我們要換資料庫了,如果我們賠的數據源,那麼,我們就可以直接改數據源就好了。
如果是在資料庫裡面配置的,那麼我們就需要再每個工程裡面都改一遍。

⑼ java數據源問題

配置數據源,就是配置資料庫以及連接池的信息;比如:資料庫url,最大連接數等等;
tomcat自帶連接池 tomcat-dbcp.jar,但是如果用其他連接池就需要加jar包;

1.jndi是 Java 命名與目錄介面(Java Naming and Directory Interface);
你在配置數據源時,實在xml中配置的;直接使用字元信息獲取連接這種方式叫JNDI;
例如:
Context ctx=new InitialContext(); Object datasourceRef=ctx.lookup("java:數據源名稱"); //引用數據源 DataSource ds=(Datasource)datasourceRef; conn=ds.getConnection();

2.c3p0是一個資料庫連接池,資料庫連接池主要是控制最大連接數、最小連接數等等連接信息

閱讀全文

與Java數據源是什麼意思相關的資料

熱點內容
沒技術的人如何養家糊口 瀏覽:880
什麼叫退市交易整理期 瀏覽:7
身份信息發到多少人的群里算侵權 瀏覽:598
modbustcp如何讀取數據的 瀏覽:210
有什麼好項目可以做代理商理財 瀏覽:635
上徵信要什麼程序 瀏覽:949
小學教資信息技術是什麼 瀏覽:764
五菱汽車代理多少錢 瀏覽:300
市場上什麼勞保用品賣的最快 瀏覽:653
三聯是做什麼產品的 瀏覽:232
咸魚虛擬物品交易多久到賬 瀏覽:60
煤礦程序員年薪多少 瀏覽:980
軸承車削數據怎麼取 瀏覽:70
如何做新農村工程程序 瀏覽:441
文化市場綜合執法隊怎麼沒有制服 瀏覽:371
現在市場賣的肉丸子是怎麼做的 瀏覽:554
微信小票機的數據線干什麼用的 瀏覽:469
華為八叉怎麼更換信息鈴聲 瀏覽:585
離我最近的批發羊交易市場在哪裡 瀏覽:485
海產品選什麼牌子 瀏覽:28