這篇文章將為大家詳細(xì)講解有關(guān)Spring JdbcTemplate怎么用,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
成都創(chuàng)新互聯(lián)公司2013年至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元大荔做網(wǎng)站,已為上家服務(wù),為大荔各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108
聲明一下,我的spring包是1.2.6的版本。
Spring 有很多很好的開源數(shù)據(jù)源,連接池。我們來一起學(xué)習(xí)一下。
(1) DBCP連接池
DBCP連接池是Apache軟件基金組織下的一個(gè)開源連接池實(shí)現(xiàn)。
需要: commons-dbcp-1.2.1.jar //連接池的實(shí)現(xiàn)
commons-pool.jar //連接池實(shí)現(xiàn)的倚賴庫
commons-collection.jar //連接池實(shí)現(xiàn)的倚賴庫
代碼:
package wyd.spring.datasource.dbcp;
import java.sql.Connection;
import java.sql.SQLException;
import javax.sql.DataSource;
import org.apache.commons.dbcp.BasicDataSource;
public class DBCPDataSource {
private static BasicDataSource dataSource=null;
private static final String driver="com.MySQL.jdbc.Driver";
private static final String url="jdbc:mysql://localhost:3306/wyd";
private static final String userName="root";
private static final String password="root";
public static DataSource getDataSource(){
if(dataSource==null){
dataSource=new BasicDataSource();
dataSource.setDriverClassName(driver);
dataSource.setUrl(url);
dataSource.setUsername(userName);
dataSource.setPassword(password);
}
return dataSource;
}
public static Connection getConnection() throws SQLException{
return DBCPDataSource.getDataSource().getConnection();
}
}
(2) C3PO 連接池
C3PO 連接池是一個(gè)優(yōu)秀的連接池,推薦使用。C3PO實(shí)現(xiàn)了JDBC3.0規(guī)范的部分功能,因而性能更加突出。
需要的jar包: c3po0.902.jar
代碼:
package wyd.spring.datasource.c3po;
import java.beans.PropertyVetoException;
import java.sql.Connection;
import java.sql.SQLException;
import javax.sql.DataSource;
import wyd.spring.datasource.dbcp.DBCPDataSource;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class C3PODataSource {
private static ComboPooledDataSource dataSource=null;
private static final String driver="com.mysql.jdbc.Driver";
private static final String url="jdbc:mysql://localhost:3306/wyd";
private static final String userName="root";
private static final String password="root";
public static DataSource getDataSource(){
if(dataSource==null){
dataSource=new ComboPooledDataSource();
try {
dataSource.setDriverClass(driver);
} catch (PropertyVetoException e) {
System.out.println("DataSource Load Driver Exception!!");
e.printStackTrace();
}
dataSource.setJdbcUrl(url);
dataSource.setUser(userName);
dataSource.setPassword(password);
//設(shè)置連接池最大連接容量
dataSource.setMaxPoolSize(20);
//設(shè)置連接池最小連接容量
dataSource.setMinPoolSize(2);
//設(shè)置連接池最大statements對(duì)象容量
dataSource.setMaxStatements(100);
}
return dataSource;
}
public static Connection getConnection() throws SQLException{
return DBCPDataSource.getDataSource().getConnection();
}
}
(3)SmartDataSource 連接池
SmartDataSource 繼承DataSource接口。讓除了提供DataSource的基本方法之外,還提供一個(gè)額外的功能,在恰當(dāng)?shù)臅r(shí)候關(guān)閉連接。也就是說,通過SmartDataSource獲得的連接是無須關(guān)閉連接的。
當(dāng)程序中需要不斷重用某個(gè)連接的時(shí)候,SmartDataSource對(duì)提高非常有用。SmartDataSource判斷數(shù)據(jù)庫是否需要關(guān)閉,通過如下方法體現(xiàn)。
boolean shouldClose(Connection con)
該方法由smartDataSource的實(shí)現(xiàn)類提供實(shí)現(xiàn)。當(dāng)該方法返回true時(shí),SmartDataSource實(shí)例子在該方法返回true時(shí)關(guān)閉連接。
SmartDataSource 接口的一個(gè)實(shí)現(xiàn)類是: SingleConnectionDataSource 類
它是單連接的DataSource,可以認(rèn)為 MaxPoolSize=1,MinPoolSize=1
需要 jar 包: spring-jdbc.jar
spring-beans.jar
spring-dao.jar
spring-core.jar
commons-logging.jar
代碼:
package wyd.spring.datasource.smart;
import java.sql.Connection;
import java.sql.SQLException;
import org.springframework.jdbc.datasource.SingleConnectionDataSource;
import org.springframework.jdbc.datasource.SmartDataSource;
public class SCDataSource {
private static SingleConnectionDataSource datasource=null;
private static final String driver="com.mysql.jdbc.Driver";
private static final String url="jdbc:mysql://localhost:3306/ws";
private static final String userName="root";
private static final String password="root";
public static SmartDataSource getDataSource(){
if(datasource==null){
datasource=new SingleConnectionDataSource();
datasource.setDriverClassName(driver);
datasource.setUrl(url);
datasource.setUsername(userName);
datasource.setPassword(password);
datasource.setSuppressClose(false);
}
return datasource;
}
public static Connection getConnection() throws SQLException{
return SCDataSource.getDataSource().getConnection();
}
}
關(guān)于“Spring JdbcTemplate怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
標(biāo)題名稱:SpringJdbcTemplate怎么用
文章來源:http://aaarwkj.com/article16/pegjdg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、網(wǎng)站設(shè)計(jì)、自適應(yīng)網(wǎng)站、企業(yè)網(wǎng)站制作、App設(shè)計(jì)、全網(wǎng)營銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)