定义个测试类用来获取链接
import javax.sql.DataSource;
import java.sql.Connection;
public class DataBean {
private DataSource dataSource;
public void setDataSource(DataSource dataSource) {
this.dataSource = dataSource;
}
public void testDataSource() {
try {
Connection connection = dataSource.getConnection();
if(connection != null)
System.out.println("test ok!");
}
catch (Exception e) {
e.printStackTrace();
}
}
}
Spring提供了org.springframework.jdbc.datasource.DriverManagerDataSource來取得DataSource。该类是在Spring-dao.jar中.如果只有Spring-core,需要导入,如果有Spring.jar无需导入。而且还有有MYsql数据库的驱动jar
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost:3306/TestDB</value>
</property>
<property name="username">
<value>caterpillar</value>
</property>
<property name="password">
<value>123456</value>
</property>
</bean>
<bean id="dataBean" class="com.baidu.DataBean">
<property name="dataSource">
<ref bean="dataSource"/>
</property>
</bean>
</beans>
测试是否连接到数据库
BeanDefinitionRegistry reg = new DefaultListableBeanFactory();
XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(reg);
reader.loadBeanDefinitions(new ClassPathResource("bean.xml"));;
BeanFactory bf = (BeanFactory) reg;
DataBean dataBean = (DataBean) bf.getBean("dataBean");
dataBean.testDataSource();
测试成功!
关于org.springframework.jdbc.datasource.DriverManagerDataSource并没有提供连接池功能,只能做个连接的测试。应该换上org.apache.commons.dbcp.BasicDataSource,提供了数据库连接池功能。
导入commons-dbcp.jar,commons-pool.jar,commons-collections.jar
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost:3306/TestDB</value>
</property>
<property name="username">
<value>caterpillar</value>
</property>
<property name="password">
<value>123456</value>
</property>
</bean>
<bean id="dataBean" class="com.baidu.DataBean">
<property name="dataSource">
<ref bean="dataSource"/>
</property>
</bean>
</beans>
如果想使用JDBC进行数据库操作可以用:
org.springframework.jdbc.datasource.DataSourceUtils
Connection conn = DataSourceUtils.getConnection(dataSource);
這樣作的好處是,所有的SQLException都被Spring的DataAccessException子類CannotGetJdbcConnectionException包裝起來。您可以獲得更多的資訊,並保證存儲層的可移值性。
关闭连接方式DataSourceUtils.closeConnectionIfNecessry(connection, dataSource);
分享到:
相关推荐
简单spring增删改查 #db connection parameters driver=oracle.jdbc.driver.OracleDriver url=jdbc:oracle:thin:@localhost:1521:xe user=system pwd=cs2513179 # datesource parameters initsize=1 maxsize=3
DBCP-DataSource是Java应用中常用的数据库连接池组件,通过与Spring框架的集成,可以方便地管理数据库连接,提升应用性能。了解其配置和使用方法,对于优化数据库操作和提升系统效率至关重要。同时,根据具体需求,...
SpringBoot是由Spring Framework衍生出的轻量级开发框架,它简化了Spring的初始设置和配置,使开发过程更为便捷。在SpringBoot中配置多数据源,可以方便地管理和切换不同的数据库,提高系统的灵活性和可扩展性。 要...
完整的Demo结合了springmvc——mybatis,实现了工具类文件上传下载,结合了Redis的初步使用,并且能使用threadlocal实现数据库动态切换,很适合初建项目做参考,适合初学者使用。
”sqlQuery” var=”name” [scope=”page|request|session|application”] [dataSource=”dateSource”] [maxRow=”maxRow”] [startRow=”starRow”]/> 标签 标签用于更新数据,语法如下: ”sqlQuery” ...
在C#编程中,连接和操作ACCESS数据库是常见的任务,特别是在开发桌面应用时。本教程将详细介绍如何使用C#连接并操作ACCESS数据库,包括显示数据和读取数据的基本步骤。 首先,我们需要导入必要的命名空间`System....
网站采用三层架构层次分明,易于维护,另有多次运用用户控件,DataList的分页功能,select,UPdata ,delete等的实现,只需更改datalist的datesource即可使用,另有通过保存图片的路径来管理图片。