Spring集成JDBC的方式添加依赖编写配置文件db.propertiesbean.xml配置修改配置数据源模板类配置测试集成结果案例实践添加依赖数据库驱动jar包mysql-connector-java-5.1.25-bin。jar数据库连接池相关jar包c3p0-0.9.5.2.jar、mchange-commons-java-0.2.11.jarSpringjdbc相关jarspring-jdbc-4.3.2.RELEASE.jar、spring-tx-4.3.2.RELEASE.jarorg.springframeworkspring-context4.3.2.RELEASE依赖关系>org.aspectjaspectjweaver1.8.9mysqlmysql-connector-java5.1.39c3p0c3p00.9.1.2org.springframeworkspring-jdbc4.3.2.RELEASEorg.springframeworkspring-tx4.3.2.RELEASE配置文件db.propertiesjdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/spring_jdbc?useUnicode=true&characterEncoding=utf8jdbc.user=rootjdbc.password=rootmysql8版本以上jdbc.driver=com.mysql.cj.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/user?useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=truejdbc.user=rootjdbc.password=root以下为可选择配置initialPoolSize=20maxPoolSize=100minPoolSize=10maxIdleTime=600acquireIncrement=5maxStatements=5idleConnectionTestPeriod=60bean.xml配置修改加载属性文件配置配置数据源由于建立数据库连接是一个非常耗时耗资源的行为,所以一些与数据库的连接是通过连接池提前建立起来并保存在内存中的。当应用程序需要建立数据库连接时,可以直接在连接池中申请一个。然后放回C3P0和dbcp选择其中之一。DBCP(DataBaseconnectionpool),数据库连接池。是apache上的一个java连接池项目,也是tomcat使用的一个连接池组件。单独使用dbcp需要2个包:commons-dbcp.jar、commons-pool.jardbcp没有自动回收空闲连接的功能。C3P0是一个开源的JDBC连接池,实现数据源,支持JDBC3规范和JDBC2标准扩展。目前使用它的开源项目有Hibernate、Spring等。c3p0具有自动回收空闲连接的功能C3P0数据源配置<C3P0其他附加配置(对应值在db.properties文件中指定)dbcp数据源配置如下:模板类配置Spring将JDBC中重复的操作构建成一个模板类:org.springframework.jdbc.core.JdbcTemplate,在配置文件中添加测试集成结果测试jdbcTemplatebean是否通过junit获取publicclassTestSpringJdbc{privateJdbcTemplatejdbcTemplate;@Beforepublicvoidinit(){ApplicationContextctx=newClassPathXmlApplicationContext("beans.xml");jdbcTemplate=(JdbcTemplate)ctx.getBean("jdbcTemplate");}@Testpublicvoidtest(){Stringsql="selectcount(1)fromaccount";整数总数=jdbcTemplate.queryForObject(sql,Integer.class);System.out.println("总计数:"+total);}}ExtendedJDBCtransaction如果应用直接使用JDBC进行持久化,使用DataSourceTransactionManager处理事务边界为了使用DataSourceTransactionManager,您需要使用以下XML将其组装到应用程序的上下文定义中:dataSource"ref="dataSource"/>其实DataSourceTransactionManager是通过调用java.sql.Connection来管理事务的,它是通过DataSource获取的。通过调用连接的commit()方法提交事务。同样,如果事务失败,则通过调用rollback()方法回滚。