spring 配置数据源 mysql_spring中配置数据源_MySQL

本文介绍了在Spring中配置数据源的方式,包括使用Spring自带的DriverManagerDataSource,DBCP数据源,C3P0数据源,以及通过JNDI数据源连接MySQL数据库。详细讲解了各种数据源的配置代码和特点,如DBCP的连接池功能,C3P0的自动回收空闲连接特性,并提到了JNDI在高性能应用服务器上的应用。
摘要由CSDN通过智能技术生成

spring中配置数据源的几种常见方式:

#mysql 数据库配置(jdbc.properties)

jdbc.driverClassName=com.mysql.jdbc.Driver

jdbc.url=jdbc:mysql://localhost:3306/databaseName?useUnicode=true&characterEncoding=UTF-8

jdbc.username=root

jdbc.password=root

1.使用spring自带的数据源org.springframework.jdbc.datasource.DriverManagerDataSource;

方式一:

p标记需要:xmlns:p="http://www.springframework.org/schema/p"

DriverManagerDataSource源码实现:

public class DriverManagerDataSource extends AbstractDriverBasedDataSource {

public DriverManagerDataSource() {

}

public DriverManagerDataSource(String url) {

}

public DriverManagerDataSource(String url, String username, String password) {

}

public DriverManagerDataSource(String url, Properties conProps) {

}

public void setDriverClassName(String driverClassName) {

}

protected Connection getConnectionFromDriver(Properties props) throws SQLException {

}

protected Connection getConnectionFromDriverManager(String url, Properties props) throws SQLException {

}

}

方式二:

2.DBCP数据源;

DBCP(DataBase connection pool)。是 apache 上的一个 java 连接池项目,也是 tomcat 使用的连接池组件。单独使用dbcp需要2个包:commons-dbcp.jar,commons-pool.jar由于建立数据库连接是一个非常耗时耗资源的行为,所以通过连接池预先同数据库建立一些连接,放在内存中,应用程序需要建立数据库连接时直接到连接池中申请一个就行,用完后再放回去。

DBCP实现:

class JdbcUtil

{

private static BasicDataSource bds;

static

{

if(bds==null)

{

bds= new BasicDataSource();

}

//分别设置数据库的连接参数

bds.setDriverClassName();

bds.setUrl();

bds.setUsername();

bds.setPassword();

}

public static Connection getConnection()

{

return bds.getConnection();

}

3.C3P0数据源;

C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的有Hibernate,Spring等。

依赖jar包:c3p0-0.9.1.jar、c3p0-0.9.1.2.jar、c3p0-0.9.1-pre6.jar

c3p0与dbcp区别:

dbcp没有自动回收空闲连接的功能

c3p0有自动回收空闲连接功能

oracle.jdbc.driver.OracleDriver

jdbc:oracle:thin:@localhost:1521:Test

root

root

4.JNDI数据源;

如果应用配置在高性能的应用服务器(如WebLogic或Websphere等)上,我们可能更希望使用应用服务器本身 提供的数据源。应用服务器的数据源 使用JNDI开放调用者使用,Spring为此专门提供引用JNDI资源的 JndiObjectFactoryBean类。下面是一个简单的配置:

方式一:

value值即JNDI的名称

方式二:

queue/testQueue

方式三:

如果不使用JndiTemplate实现InitialContext环境变量的配置,则需要jndi.properties文件(放在classpath中,一般放在src下面),内容如下

java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory

java.naming.provider.url=jnp://localhost:1099

java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces

方式四:

使用JndiTemplate实现InitialContext环境变量的配置,例如

queue/testQueue

org.jnp.interfaces.NamingContextFactory

jnp://localhost:1099

org.jboss.naming:org.jnp.interfaces

f68f2add0b68e4f9810432fce46917b7.png

相关标签:数据源

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值