概述
package com.bjsxt.test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.bjsxt.util.DBUtil;
/**
*
*
*
* @author MyPC
*
*/
public class TestTrainsaltion{
public static void main(String[] args) {
//声明jdbc参数
//
String driver="oracle.jdbc.OracleDriver";
//
String url="jdbc:oracle:thin:@localhost:1521:XE";
//
String username="scott";
//
String password="123";
//声明jdbc变量
Connection conn=null;
PreparedStatement ps=null;
ResultSet rs=null;
try {
//加载驱动
//Class.forName(driver);
//创建连接
//conn=DriverManager.getConnection(url, username, password);
conn=DBUtil.getConnection();
//开启事务管理
conn.setAutoCommit(false);
//创建SQL命令
String sql="update t_account set money=money+? where aname=?";
//创建SQL命令对象
ps=conn.prepareStatement(sql);
//给占位符赋值
int i=0;
//转账
ps.setDouble(1,-1000.00);
ps.setString(2, "张三");
//执行SQL命令
i=i+ps.executeUpdate();
//入账
ps.setObject(1,1000);
ps.setString(2,"李四");
//执行SQL命令
i=i+ps.executeUpdate();
//处理结果
if(i==2){
conn.commit();//提交数据到数据库中
}
} catch (Exception e) {
try {
conn.rollback();//回滚数据
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
e.printStackTrace();
}//关闭资源
}
}
练习:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class TestTrainsaltion {
public static void main(String[] args) {
//事物的练习
/**
* 1、创建jdbc参数
* 2、创建jdbc变量
* 3、加载驱动
* 4、创建连接
* 5、创建SQL命令对象
* 6、创建SQL命令
* 7、执行SQL命令
* 8、处理结果
* 9、关闭资源
*/
//1、创建jdbc参数
String driver = "oracle.jdbc.OracleDriver";
String url="jdbc:oracle:thin:@localhost:1521:XE";
String username="scott";
String passwd="123456";
//创建jdbc变量
Connection conn = null;
PreparedStatement ps = null;
//3、加载驱动
try {
Class.forName(driver);
//4、创建连接
conn = conn = DriverManager.getConnection(url, username, passwd);
//5、开启事物
conn.setAutoCommit(false);
//6、创建SQL命令对象
String sql="update t_account set money=money+? where aname=?";
//7、创建命令对象
ps = conn.prepareStatement(sql);
//8、给占位符赋值
int i=0;
//转账
ps.setDouble(1, 500);
ps.setString(2, "李四");
int executeUpdate4 = ps.executeUpdate();
int executeUpdate3 = executeUpdate4;
int executeUpdate2 = executeUpdate3;
int executeUpdate = executeUpdate2;
i = executeUpdate;
ps.setDouble(1, -500);
ps.setString(2, "张三");
i+=ps.executeUpdate();
//处理结果
if(i>=2){
System.out.println("转账成功");
}else{
System.out.println("转账失败");
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
ps.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
1、创建jdbc参数
2、创建jdbc变量
3、加载驱动
4、创建连接
5、开启事务
6、创建SQL命令
7、创建SQL命令对象
8、给占位符赋值
9、执行SQL命令
10、处理结果
11、关闭资源
最后
以上就是留胡子香氛为你收集整理的使用jdbc完成对于数据库的操作【事务练习】的全部内容,希望文章能够帮你解决使用jdbc完成对于数据库的操作【事务练习】所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复