java中事务的处理

package com.test;
import java.sql.*;

class Hello
{
    
    
/**
    * 该方法用以显示结果集;
    
*/

    
private static void showResultSet( ResultSet rs ) throws Exception{
        System.out.println(
"编号 图书名称 图书单价 图书数量 ");
        
while(rs.next())
        
{
                
int id=rs.getInt("ID");
                String book_name
=rs.getString("book_name");
                
double book_price=rs.getDouble("book_price");
                
int book_quantity=rs.getInt("book_quantity");
                System.out.println(id
+" "+book_name+" "+book_price+" "+book_quantity);
        }

    }

    
    
public static void main(String args[])
    
{
        
try
        
{
            
/**
            * 将数据库中原来图书信息显示出来;
            
*/

            Class.forName(
"sun.jdbc.odbc.JdbcOdbcDriver");
            String url
="jdbc:odbc:bookdsn";         
            Connection con
=DriverManager.getConnection(url,"sa","");
            Statement stmt
=con.createStatement();
            ResultSet rs
=stmt.executeQuery("SELECT ID,book_name,book_price,book_quantity from book_stock");
            showResultSet(rs);
            
            
/**
            * 下面使用事务;
            * 不必显式开启事务,在回滚或提交事务后必须将事务
            * 提交模式设置为原来默认的自动提交模式;
            
*/
    
            con.setAutoCommit(
false);
            stmt.executeUpdate(
"insert into book_stock (book_name,book_price,book_quantity) values ('Win2000手册',30.00,300)");
            System.out.println(
" 通过execute方法插入一种新书之后:");
            System.out.println(
"回滚事务!");
            con.rollback();
            con.setAutoCommit(
true);
            
            
/**
            * 再次显示数据库中图书信息;
            
*/

            rs
=stmt.executeQuery("SELECT ID,book_name,book_price,book_quantity from book_stock");
            showResultSet(rs);    
            
            
/**
            * 以下断开连接;
            
*/

            rs.close();
            stmt.close();
            con.close();
        }

         
catch(Exception e)
        
{
            System.out.println(
"发生异常:"+e);
        }

    }

}


 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值