service+utils事务模板
来源:互联网 发布:酒吧骰子软件 编辑:程序博客网 时间:2024/06/06 11:04
package com.ymh.jdbc;import com.mchange.v2.c3p0.ComboPooledDataSource;import org.jetbrains.annotations.Contract;import javax.sql.DataSource;import java.sql.Connection;import java.sql.SQLException;/** * @author cobblepot.ymh on 2017/10/11 下午7:48. */public class JdbcUtils { //配置文件的默认配置,要求必须给出c3p0-config.xml private static ComboPooledDataSource comboPooledDataSource = new ComboPooledDataSource(); //事务专用链接 private static Connection connection = null; /** * 使用连接池返回一个连接对象 * @return */ public static Connection getConnection() throws SQLException { if(connection != null){ return connection; } return comboPooledDataSource.getConnection(); } /** * 返回连接池对象 */ @Contract(pure = true) public static DataSource getDataSource(){ return comboPooledDataSource; } /** * 开启事务 * 1.获取事务,设置setAutoCommit(false) * 2.还要保证dao中使用的连接是我们刚刚创建的 * * 1.创建一个Connection,设置为手动提交 * 2.把这个Connection给dao用 * 3.还要让commitTransaction颧rollbackTransaction可以获取到 */ public static void beginTransaction() throws SQLException { /* * 1.给connection赋值 * 2.设置手动提交 */ connection = getConnection(); connection.setAutoCommit(false); } /** * 提交事务 * 1.获取beginTransaction提供的Connection,然后调用commit方法 */ public static void commitTransaction() throws SQLException { connection.commit(); connection.close(); } public static void bollbackTransaction() throws SQLException { connection.rollback(); connection.close(); }}
package com.ymh.jdbc;import org.apache.commons.dbutils.QueryRunner;import java.sql.Connection;import java.sql.SQLException;/** * @author cobblepot.ymh on 2017/10/11 下午8:37. */public class AccountDao { public static void update(String name, double money) throws SQLException { QueryRunner queryRunner = new QueryRunner(); String sql = "update balance set balance = balance + ? where name = ?"; Object[] params = {money, name}; //需要自己提供连接,保证多次调用使用的是同一个连接 Connection connection = JdbcUtils.getConnection(); queryRunner.update(sql,params); }}
阅读全文
0 0
- service+utils事务模板
- UTILS
- Utils
- utils
- utils
- Utils
- Utils
- Utils
- utils
- Utils
- Utils
- Utils
- UTILS
- Utils
- Utils
- Utils
- Utils
- utils
- Quartz任务调度(3)存储与持久化操作配置详细解析
- 10.10(周二)
- jstl 报错 According to TLD or attribute directive in tag file, attribute test does not accept any expr
- P2142 高精度减法
- 实验吧web题库writeup
- service+utils事务模板
- tcp与udp协议
- hadoop伪分布配置
- biblatex reference
- 二叉搜索树的第k个结点
- POJ 1716 Integer Intervals 差分约束
- Oracle的导出导入
- hanoi问题
- 【NOJ】[1001] 纸牌游戏