⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 accountdao.java

📁 JDBC连数据库,这是一门很基初的技术,一定要好好研究
💻 JAVA
字号:
package com.allanlxf.jdbc.adv;

import java.sql.*;
import com.allanlxf.jdbc.util.ConnectionFactory;
import com.allanlxf.jdbc.util.JdbcUtil;

public class AccountDao
{
    public void transfer(int fromId, int toId, double amount)
    {
        Connection con = null;
        Statement st = null;
        
        try
        {
            con = ConnectionFactory.getConnection();
            con.setAutoCommit(false);
            
            st = con.createStatement();
            
            String sql = "update sd0703_account set balance = balance + " + amount + " where id = " + toId;
            st.executeUpdate(sql);
            
            sql = "update sd0703_account set balance = balance - " + amount + " where id = " + fromId + " and balance > " + amount;
            int rows = st.executeUpdate(sql);
            
            if(rows == 0)
            {
                throw new Exception();
            }
            con.commit();            
            System.out.println("success!");
        }catch(Exception e)
        {
            System.out.println("failed!");
            try
            {
                con.rollback();
            }catch(Exception r)
            {
            }
            
            throw new RuntimeException(e.getMessage());
        }finally
        {
            JdbcUtil.close(st, con);
        }
    }
    
    
    public static void main(String[] args) throws Exception
    {
//        AccountDao accountDao = new AccountDao();
//        accountDao.transfer(5172, 5173, 100000);

        System.out.println("Connection.TRANSACTION_NONE : " + Connection.TRANSACTION_NONE);
        System.out.println("Connection.TRANSACTION_READ_UNCOMMITTED : " + Connection.TRANSACTION_READ_UNCOMMITTED);
        System.out.println("Connection.TRANSACTION_READ_COMMITTED : " + Connection.TRANSACTION_READ_COMMITTED);
        System.out.println("Connection.TRANSACTION_REPEATABLE_READ : " + Connection.TRANSACTION_REPEATABLE_READ);
        System.out.println("Connection.TRANSACTION_SERIALIZABLE : " + Connection.TRANSACTION_SERIALIZABLE);
        
        Connection con = ConnectionFactory.getConnection();
        DatabaseMetaData dbmd = con.getMetaData();
        System.out.println("-------------------");
        System.out.println(dbmd.supportsTransactionIsolationLevel(Connection.TRANSACTION_NONE));
        System.out.println(dbmd.supportsTransactionIsolationLevel(Connection.TRANSACTION_READ_UNCOMMITTED));
        System.out.println(dbmd.supportsTransactionIsolationLevel(Connection.TRANSACTION_READ_COMMITTED));
        System.out.println(dbmd.supportsTransactionIsolationLevel(Connection.TRANSACTION_REPEATABLE_READ));
        System.out.println(dbmd.supportsTransactionIsolationLevel(Connection.TRANSACTION_SERIALIZABLE));
        con.close();
    }
}

⌨️ 快捷键说明

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