maven-Spring配置数据源
Posted Rgylin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了maven-Spring配置数据源相关的知识,希望对你有一定的参考价值。
Spring产生数据源对象
记录一下配置Spring配置数据源的几种方式
前提准备
加入c3p0数据源依赖
这里以c3p0创建数据源为例
至于怎么创建.在project 结构下面 点击加号,导入jar包(一开始我这里没导入,导致报错)
首先已经连上了数据库,使用maven创建的,数据库如下
利用bean创建链接数据源对象
首先在Prom中 加入其依赖
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.5.RELEASE</version>
</dependency>
手现在resources中 创建spring 配置文件xml文件,(如果没有出现刷新一下,或者退了重新进就有了)
创建完成后,实现对Database类进行赋值.
<bean id="dataSources" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="com.mysql.jdbc.Driver"></property>
<property name="jdbcUrl" value="jdbc:mysql://127.0.0.1:3306/my_db"></property>
<property name="user" value="root"></property>
<property name="password" value="root"></property>
</bean>
其中property 中的属性名要和其类中的属性类中保持一致,举个例子由于ComboPooledDataSource.的set方法是
所以这里的name就变成了driverClass 首字母小写,其他也是如此.bean配置好了之后就可以实现其调用了
@Test
//利用bean 创建链接
public void text3() throws Exception
ApplicationContext app1= new ClassPathXmlApplicationContext("application.xml");
ComboPooledDataSource dataSource= app1.getBean(ComboPooledDataSource.class);
//当bean中不是一个配置dataSource时就要用
ComboPooledDataSource dataSource1= (ComboPooledDataSource)app1.getBean("dataSources");
Connection connection= dataSource.getConnection();
System.out.println(connection);
connection.close();
调用如下
成功输出对象
利用properties配置文件创建数据源链接
首先在resources中创建properties文件
里面的内容是
jdbc.driver= com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/my_db
jdbc.username=root
jdbc.password=root
然后利用ResourceBundle 类进行绑定进而读取配置文件,
ResourceBundle rb = ResourceBundle.getBundle("jdbc");
String diver= rb.getString("jdbc.driver");
String url= rb.getString("jdbc.url");
String username= rb.getString("jdbc.username");
String passwordd= rb.getString("jdbc.password");
绑定完成后,创建数据源对象,进行解耦合
ComboPooledDataSource dataSource= new ComboPooledDataSource();
dataSource.setPassword(passwordd);
dataSource.setUser(username);
dataSource.setPassword(passwordd);
dataSource.setJdbcUrl(url);
Connection connection= dataSource.getConnection();
System.out.println(connection);
其中properties中的属性值可以任意取
直接链接数据源
就是创建数据源,后直接进行链接耦合度高
public void text() throws Exception
PreparedStatement psmt =null;
String sql="select * from message";
ComboPooledDataSource dataSource =new ComboPooledDataSource();
dataSource.setDriverClass("com.mysql.jdbc.Driver");
dataSource.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/my_db");
dataSource.setUser("root");
dataSource.setPassword("root");
Connection connection = dataSource.getConnection();
psmt= connection.prepareStatement(sql);
ResultSet rs= psmt.executeQuery();
while (rs.next())
System.out.println(rs.getInt(1) + "/t" + rs.getString(2));
connection.close();
成功连接,并读取数据
以上是关于maven-Spring配置数据源的主要内容,如果未能解决你的问题,请参考以下文章