testtransaction.java

来自「用jsp和servlet技术运用MVC模式做的购物车小系统源码」· Java 代码 · 共 72 行

JAVA
72
字号
package com.hygj.test;

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;

public class TestTransaction {
	private Connection conn=null;
	private Statement st=null;
	private PreparedStatement pt=null;
	private CallableStatement call=null;
	
	public void testSt(){
		//获得连接
		conn=com.hygj.util.ConnUtil.getConn();
		try {
			//把事务处理设置成手动操作方式
			conn.setAutoCommit(false);
			st=conn.createStatement();			
			st.executeUpdate("insert into orders(userId) values(1)");			
			st.executeUpdate("update orders set userId=3 where orderId=1");
			//手动提交事务
			conn.commit();
			System.out.println("ok");
		} catch (SQLException e) {
			//回滚事务
			try {
				conn.rollback();
			} catch (SQLException e1) {
				// TODO Auto-generated catch block
				e1.printStackTrace();
			}
		}
	}
	
	/**
	 * 测试pt
	 */
	public void testPt(){
		conn=com.hygj.util.ConnUtil.getConn();
		try {
			conn.setAutoCommit(false);
			pt=conn.prepareStatement("insert into orders(userId) values(?)");
			for(int i=1;i<4;i++){
				pt.setInt(1,i);
				//把生成好的sql语句放到一个批处理中,形成事务
				pt.addBatch();
			}
			//发送批处理执行语句
			pt.executeBatch();
			//提交事务
			conn.commit();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
	
	
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		new com.hygj.test.TestTransaction().testPt();

	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?