- 首先,spring中包含两种数据源:
- DriverManagerDatasource,每次请求都会返回一个新的连接,没有用到pool池的管理;
- SingleConnectionDatasource,每次请求都会返回同一个连接。
但是,这两种在我们现在的实际开发中都不经常使用。
Spring JDBC数据源
一般是我们在配置文件中设置,用来和数据库建立连接并访问数据的基础。想要在配置文件中配置数据源成功,拿Mysql举例,我们除了要导入相应的Mysql驱动包,还要有spring jdbc包,至于数据源,我们现下常用的有Druid数据源,它的优点是可以对数据库事务进行监听,包含防火墙,日志等功能。导入我们使用的数据源的包,在配置文件中设置数据源,再在数据源中设置要使用的数据库的DriverClassName、url、username、password。JDBCTemplate和事务管理器都需要用到数据源。
<!--连接数据源-->
<bean id="druidDataResourse" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/lanqiao"/>
<property name="username" value="root"/>
<property name="password" value="123"/>
</bean>
<!---->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="druidDataResourse"/>
</bean>
<!-- 添加spring事务管理器 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="druidDataResourse"/>
</bean>
<tx:annotation-driven transaction-manager="transactionManager"/>