文章目录

  • 1 c3p0
    • 1.1 引入依赖
    • 1.2 创建DataSource对象
      • 1.2.1 new
      • 1.2.2 xml文件
      • 1.2.3 注解实现
  • 2 druid
    • 2.1 引入依赖
    • 2.2 创建DataSource对象
      • 2.2.1 new
      • 2.2.2 xml文件
      • 2.2.3 注解实现
  • 3 总结

数据源(数据库连接池),是为了提高程序性能而出现的。使用连接时,从数据源中获取已初始化的连接资源,使用完后将连接资源归还给数据源。常用的数据源有c3p0和druid。

1 c3p0

1.1 引入依赖

<dependency><groupId>com.mchange</groupId><artifactId>c3p0</artifactId><version>0.9.5.5</version>
</dependency>
<!--mysql驱动-->
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.49</version>
</dependency>

1.2 创建DataSource对象

获取数据源的三种等价的实现方式。

1.2.1 new

public DataSource getDataSource() throws PropertyVetoException {ComboPooledDataSource dataSource = new ComboPooledDataSource();dataSource.setDriverClass("com.mysql.jdbc.Driver");dataSource.setJdbcUrl("jdbc:mysql://192.168.179.167:3306/test");dataSource.setUser("root");dataSource.setPassword("11111111");dataSource.setInitialPoolSize(3);//初始连接个数dataSource.setMaxPoolSize(5);//最大连接池大小return dataSource;
}

1.2.2 xml文件

applicationContext.xml中配置,交由spring容器创建数据源:

<!--指定properties文件所在的位置--><context:property-placeholder location="classpath:jdbc.properties"/><bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"><property name="driverClass" value="${jdbc.driver}"/><property name="jdbcUrl" value="${jdbc.url}"/><property name="user" value="${jdbc.username}"/><property name="password" value="${jdbc.password}"/></bean>

jdbc.properties

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://192.168.179.167:3306/test
jdbc.username=root
jdbc.password=11111111

1.2.3 注解实现

通过注解方式,交由spring容器创建数据源:

@PropertySource("classpath:jdbc.properties")
public class DataSourceConfig {@Value("${jdbc.driver}")private String driver;@Value("${jdbc.url}")private String url;@Value("${jdbc.username}")private String user;@Value("${jdbc.password}")private String password;@Bean(name="dataSource")public  DataSource getDataSource() throws PropertyVetoException, NamingException {ComboPooledDataSource dataSource = new ComboPooledDataSource();dataSource.setDriverClass(driver);dataSource.setJdbcUrl(url);dataSource.setUser(user);dataSource.setPassword(password);return dataSource;}
}

在主配置文件中增加注解,将上述数据源配置类导入:

@Import({DataSourceConfig.class})

2 druid

2.1 引入依赖

<dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.8</version>
</dependency>
<!--mysql驱动-->
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.49</version>
</dependency>

2.2 创建DataSource对象

获取数据源的三种等价的实现方式。

2.2.1 new

public DataSource getDataSource()  {DruidDataSource dataSource = new DruidDataSource();dataSource.setDriverClassName("com.mysql.jdbc.Driver");dataSource.setUrl("jdbc:mysql://192.168.179.167:3306/test");dataSource.setUsername("root");dataSource.setPassword("11111111");return dataSource;
}

2.2.2 xml文件

applicationContext.xml中配置,交由spring容器创建数据源:

    <!--指定properties文件所在的位置--><context:property-placeholder location="classpath:jdbc.properties"/><bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"><property name="driverClassName" value="${jdbc.driver}"/><property name="url" value="${jdbc.url}"/><property name="username" value="${jdbc.username}"/><property name="password" value="${jdbc.password}"/></bean>

2.2.3 注解实现

@PropertySource("classpath:jdbc.properties")
public class DataSourceConfig {@Value("${jdbc.driver}")private String driver;@Value("${jdbc.url}")private String url;@Value("${jdbc.username}")private String user;@Value("${jdbc.password}")private String password;@Bean(name="dataSource")public  DataSource getDataSource() {DruidDataSource dataSource = new DruidDataSource();dataSource.setDriverClassName(driver);dataSource.setUrl(url);dataSource.setUsername(user);dataSource.setPassword(password);return dataSource;}
}

在主配置文件中增加注解,将上述数据源配置类导入:

@Import({DataSourceConfig.class})

3 总结

数据源可以设置多个参数,除必须的驱动类、数据库地址,用户名、密码外,还可以设置数据库最小连接数,最大连接数等,需要根据实际的使用场景进行配置。

Spring-配置数据源相关推荐

  1. spring—配置数据源

    数据源(连接池)的作用 数据源(连接池)是提高程序性能如出现的 事先实例化数据源,初始化部分连接资源 使用连接资源时从数据源中获取 使用完毕后将连接资源归还给数据源 常见的数据源(连接池):DBCP. ...

  2. spring配置数据源的4种方式--简介

    在spring中配置数据源这是做项目不可避免的,今天我把了解到的配置方式在这里做个总结. 本人目前知道4种方式. 1.jdbc org.springframework.jdbc.datasource. ...

  3. Spring - Spring配置文件-Spring配置数据源详解

    文章目录 一般方式配置数据源 数据源(连接池)的作用 数据源开发的步骤 数据源创建演示(c3p0) 创建maven-web骨架项目 导入mysql.c3p0.druid.junit坐标 创建编写测试类 ...

  4. 【重温SSM框架系列】2 - Spring配置数据源连接池(手动创建与配置)

    Spring配置数据源) 数据源(连接池概述) 自定义数据源(手动创建) 1. 导入Druid和mysql数据库驱动依赖包 2. 创建数据源对象并配置基本连接信息 使用JDBC操作数据库,打印user ...

  5. Spring配置数据源

    Spring配置数据源 数据源的作用 环境准备 手动创建c3p0数据源 封装抽取关键信息,手动创建c3p0数据源 使用Spring容器配置数据源 数据源的作用 数据源(连接池)是提高程序性能如出现的 ...

  6. Spring配置数据源(XML)

    1. 数据源(连接池)的作用 数据源(连接池)是提高程序性能如出现的 事先实例化数据源,初始化部分连接资源 使用连接资源时从数据源中获取 使用完毕后将连接资源归还给数据源 常见的数据源(连接池):DB ...

  7. Spring配置数据源没有maxActive和maxWait参数解决方法

    Spring配置数据源没有maxActive和maxWait参数解决方法 也许你会出现像我这样的情况 原因:Apache 在2.0版本以上已经做了一次升级,在dbcp的修改日志显示:change &q ...

  8. spring配置数据源(交给spring容器完成)

    ##将DataSource的创建权交给spring容器去完成 1.导入spring依赖 <dependency><groupId>org.springframework< ...

  9. Spring配置数据源的四种方式

    1.使用Spring自带的DriverManagerDataSource <?xml version="1.0" encoding="UTF-8"?> ...

  10. Spring配置数据源(连接池)

    1.数据源(连接池)的作用:为了提高程序的性能而出现的 2.数据源的原理: *事先实例化数据源,初始化部分连接资源 *使用连接资源时从数据源中获取 *使用完毕后将连接资源归还给数据源 使用c3p0的步 ...

最新文章

  1. E: 您必须在 sources.list 中指定代码源(deb-src) URI 解决办法
  2. 做shopee找代运营,如何判断一家代运营公司是否靠谱?
  3. python输出表达式值_python 输出表达式之format
  4. golang为LigerUI编写简易版本web服务器
  5. 隐藏界面没有必要应用场景
  6. python基础 函数 (四)
  7. TypeScript基础入门 - 接口 - 可索引的类型
  8. php v-for=,Vue中v-for循环节点的实现代码
  9. java xfire指定参数名_XFire绑定Aegis自定义友好参数(复杂对象)
  10. 再这样下去,团队半年内就要散了。。
  11. js_开发小技巧记录(一)
  12. DevExpress学习之Gridcontrol
  13. Loadrunner破解版安装
  14. tcpdump抓包分析
  15. UNITY3D MMO开发指南(Lua)
  16. SAS PROC SQL
  17. Excel常用数据分析技能(PowerBI)
  18. 兼职平台java设计_基于jsp的高校兼职平台-JavaEE实现高校兼职平台 - java项目源码...
  19. C语言学习(七)之数组
  20. C语言数据类型谜题总结

热门文章

  1. java全栈系列之JavaSE--命令行传递参数与可变参数021
  2. 【OpenCV】cv::Mat位深和通道,CV_8UC1等
  3. 删除一个字符串中的所有数字字符
  4. 率土之滨服务器进备战区维护多久,备战区完全解读
  5. #三分法判断单峰函数最值#附加例题LA 5009
  6. 数学建模算法与应用【BP神经网络算法】
  7. Web开发必知的八种隔离级别
  8. 自己总结的web前端面试题之数据库
  9. weblogic绿色版安装
  10. 教你安装Weblogic