溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring JdbcTemplate怎么用

發布時間:2021-12-14 11:19:39 來源:億速云 閱讀:131 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關Spring JdbcTemplate怎么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

聲明一下,我的spring包是1.2.6的版本。


Spring 有很多很好的開源數據源,連接池。我們來一起學習一下。

(1) DBCP連接池
   DBCP連接池是Apache軟件基金組織下的一個開源連接池實現。
需要: commons-dbcp-1.2.1.jar  //連接池的實現
 commons-pool.jar  //連接池實現的倚賴庫
 commons-collection.jar  //連接池實現的倚賴庫


代碼:

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 連接池是一個優秀的連接池,推薦使用。C3PO實現了JDBC3.0規范的部分功能,因而性能更加突出。
需要的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);
  //設置連接池最大連接容量
  dataSource.setMaxPoolSize(20);
  //設置連接池最小連接容量
  dataSource.setMinPoolSize(2);
  //設置連接池最大statements對象容量
  dataSource.setMaxStatements(100);
 
 }
 
 return dataSource;
}


public static Connection getConnection() throws SQLException{
 
 return DBCPDataSource.getDataSource().getConnection();
 }
}

(3)SmartDataSource 連接池
  SmartDataSource 繼承DataSource接口。讓除了提供DataSource的基本方法之外,還提供一個額外的功能,在恰當的時候關閉連接。也就是說,通過SmartDataSource獲得的連接是無須關閉連接的。
  當程序中需要不斷重用某個連接的時候,SmartDataSource對提高非常有用。SmartDataSource判斷數據庫是否需要關閉,通過如下方法體現。

boolean shouldClose(Connection con)
  該方法由smartDataSource的實現類提供實現。當該方法返回true時,SmartDataSource實例子在該方法返回true時關閉連接。
  SmartDataSource 接口的一個實現類是: SingleConnectionDataSource 類

它是單連接的DataSource,可以認為 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();
}

}

關于“Spring JdbcTemplate怎么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女