spring连接jdbc

连接池是一种操作,其中系统会预先初始化将来要使用的连接。 这样做是因为在使用时创建连接是一项昂贵的操作。 在这篇文章中,我们将学习如何在Spring JDBC中创建C3P0连接池(某人没有使用Hibernate)。

Pom.xml

<dependency><groupId>c3p0</groupId><artifactId>c3p0</artifactId><version>0.9.1.2</version>
</dependency>

Spring上下文文件(applicaitonContext-persistance.xml)

现在,我们需要为spring准备一个JDBC上下文文件。 我们需要使用所有凭据为数据库定义一个数据源。

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"xmlns:context="http://www.springframework.org/schema/context"xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-3.0.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-3.0.xsd"><!-- Employee DB data source. --><bean id="employeeDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"destroy-method="close"><property name="driverClass" value="${jdbc.driverClassName}" /><property name="jdbcUrl" value="${jdbc.employee_db_url}" /><property name="user" value="${jdbc.username}" /><property name="password" value="${jdbc.password}" /><property name="maxPoolSize" value="${jdbc.maxPoolSize}" /><property name="minPoolSize" value="${jdbc.minPoolSize}" /><property name="maxStatements" value="${jdbc.maxStatements}" /><property name="testConnectionOnCheckout" value="${jdbc.testConnection}" /></bean><context:component-scan base-package="com.javapitshop.dao"></context:component-scan>
</beans>

在上面的示例中,我们为Employee DB创建了一个C3P0数据源,其中包含所有凭据和适当的参数。 上下文文件中未提及所有凭据和设置。 我一直在使用专用的属性文件。 现在,可以在任何DAO类中将此bean自动连接为DataSource对象。

jdbc.properties

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.employee_db_url=jdbc:mysql://localhost:3306/employee
jdbc.username=root
jdbc.password=root
jdbc.maxPoolSize=50
jdbc.minPoolSize=10
jdbc.maxStatements=100
jdbc.testConnection=true

BaseDao类

DAO基础类将定义我们需要在所有子类中使用的任何抽象方法或任何常用功能。 我们可以根据需要将其抽象化或根据需要添加任何内容。 另请注意,我已经重载了其构造函数以实现Logging。 现在,每个子类都需要提供其类定义。

package com.icsmobile.faadplatform.dao;import org.apache.log4j.Logger;
import org.springframework.jdbc.core.simple.SimpleJdbcDaoSupport;/*** Its the parent Dao class of the all the daos defined in the System.** @author JavaPitShop*/
public class BaseDao extends SimpleJdbcDaoSupport {//common logger for all the classes in the dao layerprotected Logger logger;/*** * @param daoClass*/public BaseDao(Class<?> daoClass) {logger = Logger.getLogger(daoClass);}}

EmployeeJdbcDao.Java

EmployeeJdbcDao正在扩展BaseDao,并在其构造函数中自动装配了我们在上下文Bean中定义的“ employeeDataSource”。

@Repository
public class EmployeeJdbcDAO extends BaseDao {/*** Instantiates a new employee jdbc dao.** @param userDataSource the employee data source*/@Autowiredpublic ApplicationJdbcDAO(DataSource employeeDataSource) {super(ApplicationJdbcDAO.class);this.setDataSource(userDataSource);}public EmployeeBO getEmployeeById(final int employeeId) {logger.debug("getEmployeeById(" + employeeId + ")");EmployeeBO employeeBO = null;StringBuilder queryString = new StringBuilder();queryString.append(" SELECT ").append( "*" ) .append(" FROM employee ").append(" WHERE employee_id = ? ");Object[] parameterList = { employeeId };logger.debug(queryString.toString());// execute querySqlRowSet dataRow = getJdbcTemplate().queryForRowSet(queryString.toString(), parameterList);if (dataRow.next()) {// create application objectemployeeBO = getEmployeeBusinessObjectFromRowSet(dataRow);}return employeeBO;}
}

翻译自: https://www.javacodegeeks.com/2014/05/adding-c3po-connection-pooling-in-spring-jdbc.html

spring连接jdbc

spring连接jdbc_在Spring JDBC中添加C3PO连接池相关推荐

  1. 在Spring JDBC中添加C3PO连接池

    连接池是一种操作,其中系统会预先初始化将来要使用的连接. 这样做是因为在使用时创建连接是一项昂贵的操作. 在本文中,我们将学习如何在Spring JDBC中创建C3P0连接池(某人未使用休眠). Po ...

  2. mysql 多表既有内连接又有外连接_MySQL 多表查询中的内连接和外连接

    一般情况下一个网站的数据库通常会有多张数据表组成,这些数据表分别存储网站不同区域的内容.数据表之间可以用类似 ID 的字段来关联,在查询的时候可以通过一条语句来查询多张表的内容.例如 论坛的数据库,帖 ...

  3. mysql连接方式左联_数据库中的左连接(left join)和右连接(right join)区别 | 改变自己...

    Left Join / Right Join /inner join相关 关于左连接和右连接总结性的一句话: 左连接where只影向右表,右连接where只影响左表. Left Join select ...

  4. c# oldb连接_如何使用C#中的OleDbConnection 连接读取Excel?

    如何使用C#中的OleDbConnection 连接读取Excel? 发布时间:2020-07-11 15:12:06 来源:亿速云 阅读:114 这篇文章将为大家详细讲解有关如何使用C#中的OleD ...

  5. python中如何连接两个字符串_python中5种连接字符串的方法

    字符串是Python中常用的数据类型,在开发过程中可以对字符创进行截取并与其他字符创进行连接.本文为大家介绍了5种连接字符串的方法. 1.加号 如果有其他编程语言开发经验的人,肯定知道很多语言里面是用 ...

  6. 连接驱动_在jdbc中完成对于jdbc参数、jdbc变量,加载驱动,创建连接的封装

    JDBC简介 JDBC中文含义:Java数据库连接,英文全称:Java Database Connectivity. 它是Java语言中用来规范访问数据库的接口,提供了放多接口方法,例如查询 .更新. ...

  7. jenkins连接mysql_mysql – 如何将JDBC驱动程序添加到Jenkins管道?

    从 MySQL DataBase Plugin文档中可以看到包含MySQL的jdbc驱动程序: Note that MySQL JDBC driver is under GPLv2 with FOSS ...

  8. Offset Explorer中添加Kafka连接

    Kafka连接 1. Host中填IP,Port中填端口号,点击test测试链接,点击Add添加链接: 2. 若第一种方法添加链接不成功,点击Advanced,在bootstrap server中填入 ...

  9. c mysql封装 jdbc_彻底封装JDBC操作MySQL的连接。

    只需3步. 1.导入mysql的jar包. 略 2.封装配置文件db.properties driverClass = com.mysql.jdbc.Driver url = jdbc:mysql:/ ...

最新文章

  1. CSS中的字体属性和使用
  2. Id选择器和Class选择器
  3. mysql 二十条记录_记 MySQL优化 20条
  4. SwiftUI3优秀文章List 去掉左右间距问题
  5. 计算机动画人机交互,北大计算机系多媒体与人机交互.ppt
  6. ASP.NET Core Blazor Webassembly 之 数据绑定
  7. 程序员:工作3年了,为啥越来越不值钱……
  8. csv导入mysql_京东金融数据分析:MySQL+HIVE的结合应用案例详解【附全代码】
  9. pcb文件转成原理图_电路仿真与PCB设计 | 文末赠书
  10. 纯Java代码 图片压缩
  11. 没有com.sun.tools.javac.main的解决办法
  12. 【NetBeans IDE 8.2链接MySQL数据库教程】
  13. Matlab/yalmip工具编写自动驾驶模型预测控制(MPC)代码
  14. 京东运营体系组织架构曝光,自建物流秘密在这里
  15. 用LabVIEW开发简仪USB101数据采集卡会是怎样的?
  16. Philippe Clerc先生谈法国竞争情报
  17. matlab 误差椭圆,第十章 误差椭圆.doc
  18. 部分网页无法打开/修复上网问题的终极方法
  19. ubuntu16.4离线安装显卡驱动
  20. syslog server配置与logrotate的配置与理解

热门文章

  1. 3、oracle数据库的语法基础
  2. 分布式架构--基本思想汇总
  3. 想进入谷歌吗?先来看看这些面试题吧
  4. Oracle入门(十三A2)之单行函数
  5. springboot从控制器请求至页面时js失效的解决方法
  6. 第三章选择结构(一)
  7. struts基本概念(2)
  8. ❤️ 爆肝一个月!JAVA零基础入门总结(上)❤️
  9. 2017蓝桥杯省赛---java---A---7(正则问题)
  10. 马踏棋盘算法(骑士周游)+贪心优化