spring数据库配置 mysql_spring中的数据库配置

spring中的数据库配置

1.使用org.springframework.jdbc.datasource.DriveManagerDataSource

1

2

3 ${jdbc.driverClassName}

4

5

6 ${jdbc.url}

7

8

9 ${jdbc.username}

10

11

12 ${jdbc.password}

13

14

说明:DriverManagerDataSource建立连接是只要能建立连接就新建一个connection,根本没有连接池的概念。

2.使用org.springframework.jndi.JndiObjectFactoryBean

1

2

3   java:comp/env/jdbc/roseindiaDB_local

4

5

说明:JndiObjectFactoryBean能够通过JNDI获取DataSource,但是这种方式需要在web服务器中配置数据源,比如在tomcat的server.xml处配置数据源。

3.使用c3p0或者dbcp的池化技术配置数据源,以下用dbcp举一个栗子。

1

2

3 oracle.jdbc.driver.OracleDriver

4

5

6 jdbc:oracle:thin:@localhost:1521:orcl

7

8

9 test

10

11

12 test

13

14

15 255

16

17

18 2

19

20

21 120000

22

23

说明:这是一种推荐说明的数据源配置方式,它真正使用了连接池技术。

JDBC的数据库连接池使用javax.sql.DataSource来表示,DataSource只是一个接口,该接口通常由服务器(Weblogic,WebSphere,Tomcat)提供实现,也有一些开源组织提供实现,如:DBCP数据库连接池、C3P0数据库连接池、Proxpool数据库连接池.

对象采用池化的原因:采用池化的本意是通过减少对象生成的次数,减少花在对象初始化上面的开销,从而提高整体性能。

使用数据库连接池的优点:

1)资源重用:

由于数据库连接得以重用,避免了频繁创建,释放连接引起的大量性能开销。在减少系统消耗的基础上,另一方面也增加了系统运行环境的平稳性。

2)更快的系统反应速度

数据库连接池在初始化过程中,往往已经创建了若干数据库连接置于连接池中备用。此时连接的初始化工作均已完成。对于业务请求处理而言,直接利用现有可用连接,避免了数据库连接初始化和释放过程的时间开销,从而减少了系统的响应时间。

3)新的资源分配手段

对于多应用共享同一数据库的系统而言,可在应用层通过数据库连接池的配置,实现某一应用最大可用数据库连接数的限制,避免某一应用独占所有的数据库资源。

4)统一的连接管理,避免数据库连接泄露

在较为完善的数据库连接池实现中,可根据预先的占用超时设定,强制回收被占用连接,从而避免了常规数据库连接操作中可能出现的资源泄露。

相关的知识背景:

4.在Java开发中,使用JDBC操作数据库的四个步骤如下:

1)加载数据库驱动程序(class.forName("数据库驱动类"))

2)连接数据库(Connection conn=DriverManager.getConnection();)

3)操作数据库(PreparedStatement stat=con.prepareStatement(sql);stat.executeQuery();)

4)关闭数据库,释放连接(conn.close();)

c3p0和dbcp主要解决操作数据库中的con(即连接)的问题,而hibernate和myibatis解决的是sql(sql语句的问题)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值