开源框架spring学习之道:spring对JDBC的支持(一)

Java代码   收藏代码
  1. 1、spring对DAO的支持  
  2.    
  3.     
  4. Java代码    
  5. public class AccountServiceImpl implements AccountService{    
  6.     private AccountDao accountDao;    
  7.     /** set方法注入 */    
  8.     public void setAccountDao(AccountDao accountDao);    
  9.         this.accountDao = accountDao;    
  10.                 }    
  11.                 public void insert(Account acc){    
  12.                     accountDao.insert(acc);    
  13.                 }    
  14. }     
  15.    
  16.         从这个类的源代码可以看出,程序所依赖的是数据访问接口。因此,可以随时更换AccountDao的实现类。Spring的DAO框架正式基于这样的基本原理来将应用程序与底层数据存取技术解耦的。  
  17.    
  18.   2、数据源的注入  
  19.  对数据库数据执行任何的存取操作,必须要有数据源,spring提供了javax.sql,DataSource注入,这样在需要更换数据源时只需要在spring配置文件中修改即可。而不需要修改程序代码。  
  20.                不同的应用系统可能使用不同的数据源。   
  21.    
  22.       2.1、不带连接池的数据源  
  23.      
  24. Xml代码    
  25.     
  26.     "dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">    
  27.         "driverClassName" value="com.mysql.jdbc.Driver" />    
  28.         "url" value="jdbc:mysql:///spring" />    
  29.         "username" value="root" />    
  30.         "password" value="123>    
  31.         
  32.     "accountDao" class="com.zxf.dao.AccountDaoImpl">    
  33.         "dataSource" ref="dataSource" />    
  34.         
  35.         
  36.     "accountService" class="com.zxf.service.AccountService">    
  37.         "accountDao" ref="accountDao"/>    
  38.         
  39.     
  40.     2.2、集成第三方连接池技术的数据源  
  41.     
  42.    
  43.     第一种方式所获取的数据源是不带连接池的,不适合正式的商业使用。正式的商业应用需要使用带连接池的数据源,比较常见的第三方连接池有:DBCP和C3P0。  
  44.        要想使用第三方的连接池技术,首先需要在项目类路径下添加它的类库。  
  45.         commons-dbcp.jar 和 commons-pool.jar.  
  46.    
  47. Xml代码    
  48.     
  49.     "dataSource2"     
  50.           class="org.apache.commons.dbcp.BasicDataSource"     
  51.           destroy-method="close">    
  52.         "driverClassName" value="com.mysql.jdbc.Driver"/>    
  53.         "url" value="jdbc:mysql:///spring" />    
  54.         "username" value="root" />    
  55.         "password" value="123" />    
  56.         
  57.         
  58.         
  59.     "dataSource3"    
  60.           class="com.mchange.v2.c3p0.ComboPooledDataSource"    
  61.           destroy-method="close">    
  62.         "driverClass" value="com.mysql.jdbc.Driver" />    
  63.         "jdbcUrl" value="jdbc:mysql:///spring" />    
  64.         "user" value="root" />    
  65.         "password" value="123”/>    
  66.         
  67.    
  68.     备注:若要使用分散配置设置数据库的连接的话,可以使用分散配置。在配置数据源的是代码前面配置一下的代码。  
  69.    
  70. Xml代码    
  71.     
  72.     "jdbc.properties"/>    
  73.     举例:    
  74.             
  75.         "driverClass">    
  76.             ${jdbc.driverClass}    
  77.             
  78.             
  79.             
  80.         "jdbcUrl">    
  81.             ${jdbc.url}    
  82.             
  83.             
  84.             
  85.         "user">    
  86.             ${jdbc.user}    
  87.             
  88.             
  89.             
  90.         "password">    
  91.             ${jdbc.password}    
  92.             
  93.             
  94.         "maxPoolSize">    
  95.             ${c3p0.pool.max}    
  96.             
  97.             
  98.             
  99.         "minPoolSize">    
  100.             ${c3p0.pool.min}    
  101.             
  102.             
  103.             
  104.         "initialPoolSize">    
  105.             ${c3p0.pool.init}    
  106.             
  107.    
  108.    
  109.    
  110.    
  111. Properties代码    
  112. 下面是jdbc.properties    
  113.     jdbc.driverClass=com.mysql.jdbc.Driver    
  114. jdbc.url=jdbc\:mysql\://localhost\:3306/spring    
  115. jdbc.user=root    
  116. jdbc.password=123    
  117. c3p0.pool.max=10    
  118. c3p0.pool.min=3    
  119. c3p0.pool.init=5    

你可能感兴趣的:(框架学习之道)