SpringAOP——通过JdbcTemplate连接数据库,并使用事务(Transactional)(使用IDEA进行编程)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了SpringAOP——通过JdbcTemplate连接数据库,并使用事务(Transactional)(使用IDEA进行编程),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2832字,纯文字阅读大概需要5分钟。
内容图文
JdbcTemplate:用于操作数据库,与Dbutils一样,是一个操作数据库的工具。
首先声明事物是很简单的,只是为了展现例子,需要做很多准备工作。
1)使用c3p0获取连接:
先导入mysql的jar包: mysql-connector-java-8.0.16.jar
再导入c3p0的3个jar包: c3p0-0.9.5.2.jar c3p0-oracle-thin-extras-0.9.5.2.jar mchange-commons-java-0.2.11.jar
下载地址:https://sourceforge.net/projects/c3p0/files/latest/download?source=files ——等待一会自动弹出下载框
c3p0的基础知识:https://www.cnblogs.com/ygj0930/p/6405861.html
2)创建配置文件:
先创建:db.properties https://blog.csdn.net/u013164931/article/details/76283884
jdbc.user=root jdbc.pssward=123456 jdbc.driverClass=com.mysql.cj.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/student?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT jdbc.initPoolSize=5 jdbc.maxPoolSize=10
配置xml文件
<!--导入资源文件--> <context:property-placeholder location="classpath:SpringAOP_Transaction/db.properties"></context:property-placeholder> <!--配置c3p0数据源--> <bean id="dataSours" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="user" value="${jdbc.user}"/> <property name="password" value="${jdbc.pssward}"/> <property name="jdbcUrl" value="${jdbc.url}"/> <property name="driverClass" value="${jdbc.driverClass}"/> <property name="initialPoolSize" value="${jdbc.initPoolSize}"/> <property name="maxPoolSize" value="${jdbc.maxPoolSize}"/> </bean>
这个时候要记得测试资源配置有没有问题
3)配置JdbcTemplate
<!--配置spring的jdbcTemplate--> <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <property name="dataSource" ref="dataSource"></property> </bean>
这个时候要记得测试
4)事物的准备工作:
数据库:
CREATE TABLE `student`.`book` ( `isbn` VARCHAR(50) NOT NULL, `book_name` VARCHAR(100) NULL, `price` INT NULL, PRIMARY KEY (`isbn`)); CREATE TABLE `student`.`book_stock` ( `isbn` VARCHAR(50) NOT NULL, `stock` INT NULL, PRIMARY KEY (`isbn`)); CREATE TABLE `student`.`account` ( `username` VARCHAR(50) NOT NULL, `balance` INT NULL, PRIMARY KEY (`username`));
基本的方法:
代码不贴了。。。
5)声明式事务: XML配置文件,配置两个
<!--创建事务管理器--> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <!--加入数据源--> <property name="dataSource" ref="dataSource"></property> </bean> <!--启用事务注解--> <tx:annotation-driven transaction-manager="transactionManager"></tx:annotation-driven>
注:启用事务注解的资源头文件为xmlns:tx="http://www.springframework.org/schema/tx"
在要启用事务的方法前面@Transactional写上注解
//在方法写注解,启用事务 @Transactional @Override public void purchase(String username, String isbn) { //1获取书的单价 int price=bookShopDao.findBookPriceByIsbn(isbn); //2更新库存 bookShopDao.updateBookStock(isbn); //3 更新账号余额 bookShopDao.updateUserAccunt(username,price); }
内容总结
以上是互联网集市为您收集整理的SpringAOP——通过JdbcTemplate连接数据库,并使用事务(Transactional)(使用IDEA进行编程)全部内容,希望文章能够帮你解决SpringAOP——通过JdbcTemplate连接数据库,并使用事务(Transactional)(使用IDEA进行编程)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。