spring入门(六)【springMVC中各数据源配置】

在使用spring进行javaWeb开发的过程中,需要和数据库进行数据交换,为此要经常获取数据库连接,使用JDBC的方式获取数据库连接,使用完毕之后再释放连接,这种过程对系统资源的消耗无疑是很大的,这里简单描述三种数据库连接池的配置,使用这些连接池可以获得一个数据源。1、spring自带的JDBC连接池;2、c3p0;3、dbcp;

一、spring自带的JDBC方式

spring提供了对JDBC的支持,且提供了基于JDBC的数据源的配置,如下配置文件

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
        <property name="url" value="jdbc:mysql://127.0.0.1:3306/test"></property>
        <property name="username" value="root"></property>
        <property name="password" value="123456"></property>
    </bean>

在spring的配置文件,配置上面的bean,便得到一个JDBC的数据源。

二、c3p0

c3p0是一个开源的数据库连接池,可以很好的管理数据连接,如下配置

<bean id="dataSourceC3p0" 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/test"></property>
        <property name="user" value="root"></property>
        <property name="password" value="123456"></property>
    </bean>

在spring的配置文件中,配置上面的bean,便得到一个c3p0的数据源;
注:要使用c3p0连接池,必须导入c3p0的jar包,在0.9.1版本之前,c3p0只有一二jar包:c3p0-0.9.1.jar,从0.9.2之后又分离出另外一个包:mchange-commons-java-0.2.11.jar,我这里使用的0.9.5.2的版本,所以我导入了两个jar包:c3p0-0.9.5.2.jar、mchange-commons-java-0.2.11.jar。具体的下载地址可以网上查询。

三、dbcp

dbcp同样是一个开源的数据连接池,如下配置,

<bean id="dataSourceDbcp" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        
        <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
        <property name="url" value="jdbc:mysql://127.0.0.1:3306/test"></property>
        <property name="username" value="root"></property>
        <property name="password" value="123456"></property>
    </bean>

在spring的配置文件中,配置上面的bean,便得到一个dbcp的数据源;
注:要使用dbcp连接池需要导入相应的jar包,这里导入的是两个jar包:commons-dbcp-1.4.jar、commons-pool-1.5.6.jar

上面的三种数据源的配置都是最基础的配置,如果需要得到性能高的数据源源,还需要其他的配置项,可以执行研究。

有不正之处欢迎指出,谢谢!

转载于:https://www.cnblogs.com/teach/p/5870767.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,您想了解如何配置一个Spring MVC项目来使用Mysql和Oracle数据库的双数据。这可以通过以下步骤完成: 1. 在pom.xml添加mysql和oracle的连接器依赖项: ```xml <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>{版本号}</version> </dependency> <dependency> <groupId>com.oracle.jdbc</groupId> <artifactId>ojdbc8</artifactId> <version>{版本号}</version> </dependency> ``` 2. 对于Mysql和Oracle,分别创建数据bean,并使用@Primary注释告诉Spring哪个数据默认使用: ```java @Configuration public class DataSourceConfig { @Bean(name = "mysqlDataSource") @ConfigurationProperties(prefix = "spring.datasource.mysql") @Primary public DataSource mysqlDataSource() { return DataSourceBuilder.create().build(); } @Bean(name = "oracleDataSource") @ConfigurationProperties(prefix = "spring.datasource.oracle") public DataSource oracleDataSource() { return DataSourceBuilder.create().build(); } } ``` 3. 创建两个JdbcTemplate实例分别操作Mysql和Oracle: ```java @Configuration public class JdbcTemplateConfig { @Bean(name = "mysqlJdbcTemplate") public JdbcTemplate mysqlJdbcTemplate(@Qualifier("mysqlDataSource") DataSource dataSource) { return new JdbcTemplate(dataSource); } @Bean(name = "oracleJdbcTemplate") public JdbcTemplate oracleJdbcTemplate(@Qualifier("oracleDataSource") DataSource dataSource) { return new JdbcTemplate(dataSource); } } ``` 4. 在application.properties文件为mysql和oracle数据配置属性: ```properties spring.datasource.mysql.url={mysql数据库地址} spring.datasource.mysql.username={mysql数据库用户名} spring.datasource.mysql.password={mysql数据库密码} spring.datasource.mysql.driver-class-name=com.mysql.jdbc.Driver spring.datasource.oracle.url={oracle数据库地址} spring.datasource.oracle.username={oracle数据库用户名} spring.datasource.oracle.password={oracle数据库密码} spring.datasource.oracle.driver-class-name=oracle.jdbc.driver.OracleDriver ``` 5. 最后在Controller使用JdbcTemplate来操作数据库: ```java @RestController public class SampleController { @Autowired @Qualifier("mysqlJdbcTemplate") private JdbcTemplate mysqlJdbcTemplate; @Autowired @Qualifier("oracleJdbcTemplate") private JdbcTemplate oracleJdbcTemplate; @GetMapping("/users/mysql") public List<User> getUsersFromMysql() { return mysqlJdbcTemplate.query( "SELECT * FROM user", (rs, rowNum) -> new User(rs.getString("name"), rs.getInt("age")) ); } @GetMapping("/users/oracle") public List<User> getUsersFromOracle() { return oracleJdbcTemplate.query( "SELECT * FROM user", (rs, rowNum) -> new User(rs.getString("name"), rs.getInt("age")) ); } } ``` 这些就是配置Spring MVC项目使用Mysql和Oracle的双数据的步骤了。在实际应用,您可能需要更紧密地控制数据,例如使用多个数据来读取和写入。但是这是基本的介绍,可以让您在项目探索更多的可能性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值