如何通过Spring框架进行JDBC操作?【外链图片传输失败,源站可能有防盗链接机制,建议保存图片直接上传(img-nUiCZnSc-1600675300070)(https://imgkr.cn-bj.ufileos.c...]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.RELEASEorg.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,在配置文件中添加测试集成结果测试是否通过junit获取jdbcTemplatebeanpublicclassTestSpringJdbc{privateJdbcTemplatejdbcTemplate;@Beforepublicvoidinit(){ApplicationContextctx=newClassPathXmlApplicationContext("beans.xml");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,您需要使用以下XML将其组装到应用程序的上下文定义中:dataSource"ref="dataSource"/>其实DataSourceTransactionManager是通过调用java.sql.Connection来管理事务的,它是通过DataSource获取的。通过调用连接的commit()方法提交事务。同样,如果事务失败,则通过调用rollback()方法回滚。