JavaWeb学习之路(一)--- 数据库简单操作操作和事务

使用MySQL Workbench作为数据库; 先从官网http://dev.mysql.com/downloads/中下载MySQL Connectors中的Connector/J作为操作数据的数据库驱动,然后将下载中的.jar包放入工程中;
事务:http://blog.csdn.net/bing_javascript/article/details/52067834
以下是代码:

package com.xushaosong.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;

import java.sql.Statement;

import com.sun.org.apache.xml.internal.utils.SystemIDResolver;

public class JDBCTest {

    public static Connection getConnection() {
        Connection conn = null;
        try {
            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "");
        } catch (Exception e) {
            e.printStackTrace();
        }
        return conn;
    }

    public static void insertUserData(Connection conn) throws SQLException {

        String sql = "INSERT INTO tbl_user(id, name, password, email)"
                + "VALUES(10, 'Tom', '123456', 'HAHA@email.com')";
        Statement st = conn.createStatement();
        int count = st.executeUpdate(sql);
        System.out.println("向用户表中插入了:" + count + " 条数据");
    }

    public static void insertAddressData(Connection conn) throws SQLException {

            String sql = "INSERT INTO tbl_address(id, city, country, user_id)" + "VALUES(1, 'shanghai', 'china', '10')";
            Statement st = conn.createStatement();
            int count = st.executeUpdate(sql);
            System.out.println("向地址中插入了:" + count + " 条数据");
    }

    public static void main(String[] args) {
        Connection conn = null;
        try {
            conn = getConnection();
            conn.setAutoCommit(false); // 禁止事务的自动提交

            insertUserData(conn);
            insertAddressData(conn);
            conn.commit();
        } catch (SQLException e) {
            System.out.println("==========捕获到SQL异常===========");
            e.printStackTrace();
            try {
                conn.rollback();
                System.out.println("==========事务回滚成功===========");
            } catch (Exception e2) {
                e2.printStackTrace();
            }
        } finally {
            try {
                if (conn != null) {
                    conn.close();
                }
            } catch (Exception e3) {
                e3.printStackTrace();
            }
        }
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值