• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

spring中配置数据源_MySQL

mysql 搞代码 4年前 (2022-01-09) 34次浏览 已收录 0个评论

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

#mysql 数据库配置(jdbc.properties)jdbc.driverClassName=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/databaseName?useUnicode=true&characterEncoding=UTF-8jdbc.username=rootjdbc.password=root

1.使用spring自带本文来源gaodai#ma#com搞@@代~&码网的数据源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.OracleDriverjdbc:oracle:thin:@localhost:1521:Testrootroot<!---ecms -ecms 连接池中保留的最小连接数。--><!---ecms -ecms 连接池中保留的最大连接数。Default: 15 --><!---ecms -ecms 最大空闲时间,1800秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 --><!---ecms -ecms 当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 --><!---ecms -ecms 每60秒检查所有连接池中的空闲连接。Default: 0 --><!---ecms -ecms 定义在从数据库获取新连接失败后重复尝试的次数。Default: 30 -->

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.NamingContextFactoryjava.naming.provider.url=jnp://localhost:1099java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces

方式四:

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

queue/testQueueorg.jnp.interfaces.NamingContextFactoryjnp://localhost:1099org.jboss.naming:org.jnp.interfaces

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:spring中配置数据源_MySQL

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址