使用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();
}
}
}
}