package jdbc.mysql;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Savepoint;
import java.sql.Statement;
import java.util.UUID;
public class MysqlConnectNoTransaction{
public static void main(String[] args) {
MysqlConnectNoTransaction.testExecuteSql();
//MysqlConnectNoTransaction.testPrintResult();
}
public static Connection getConnection(){
Connection conn = null;
String url = "jdbc:mysql://localhost:3306/";
String dbName = "test";
String driver = "com.mysql.jdbc.Driver";
String userName = "root";
String password = "123456";
try {
Class.forName(driver).newInstance();
conn = DriverManager.getConnection(url + dbName, userName, password);
System.out.println("Connected to the database");
} catch (Exception e) {
System.out.println("Connot connect to the database");
e.printStackTrace();
}
return conn;
}
public static void testExecuteSql(){
Connection conn = null;
try {
conn = MysqlConnectNoTransaction.getConnection();
conn.setAutoCommit(false);
Statement stat = conn.createStatement();
stat.execute("delete from log");
//Savepoint point1 = conn.setSavepoint("point1");
stat.execute("insert into log values('"+UUID.randomUUID().toString()+"','insert','insert into log table1')");
Savepoint point2 = conn.setSavepoint("point2");
stat.execute("insert into log values('"+UUID.randomUUID().toString()+"','insert','insert into log table2')");
conn.rollback(point2);
conn.commit();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}finally{
System.out.println("Disconnected from database");
}
}
public static void testPrintResult(){
Connection conn = null;
try {
conn = MysqlConnectNoTransaction.getConnection();
Statement stat = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rst = stat.executeQuery("select id,title,content from log");
//打印结果
System.out.println("修改之前的数据");
rst.first();
do{
System.out.println(rst.getString("title"));
}while(rst.next());
//update一下
System.out.println("开始修改数据");
rst.first();
int i=0;
do{
rst.updateString("title", "title"+i);
rst.updateRow();
i++;
}while(rst.next());
System.out.println("结束修改");
//再次答应结果
System.out.println("修改之后的数据");
rst.first();
do{
System.out.println(rst.getString("title"));
}while(rst.next());
conn.close();
} catch (Exception e) {
e.printStackTrace();
}finally{
System.out.println("Disconnected from database");
}
}
}