今日学习的主要内容有:
1.数据库中事务的概念
2.JDBC对事物的支持
数据库中事务的概念:
定义:
它是数据库中的一个概念,就是一个独立的逻辑工作单元。它由一些特定的SQL语句来组成,
这些SQL语句会作为一个整体同时完成或者不完成某件事情。事务为数据库提供了读访问的
一致性。
特点:
原子性:事物要么全部成功完成,要么都不执行。
一致性:总会保持一致性的状态,数据库中的引用、约束条件在这些事物中也要得到满足。
隔离性:多事务处理操作相同的数据时需要隔离,避免脏数据的产生。
持久性:事务完成后,不可以取消。
JDBC对事物的支持:
默认情况下,事务会自动提交。
setAutoCommit()此时默认为true。
Connection接口中提供的方法:
setAutoCommit()设置事务是否自动提交。
Commit()提交事务。
rollback()回滚事务,一般将其放入catch语句中。
保存点Savepoint接口:
保存点是事物之中的一个标记。事务在操作中可以回滚到保存点。
Savepoint接口对象实际代表保存点;
Connection接口提供的方法:
setSavepoint()设置保存点。
rollback(savepoint)回滚到保存点。
Test01(测试事物回滚和有保存点的事务回滚):
package LessonForJDBC07;
import oracle.jdbc.OracleConnection;
import java.sql.*;
import java.util.ArrayList;
class StudentBean
{
private int NO;
private String NAME;
private String SEX;
private int SAGE;
public StudentBean()
{
}
public StudentBean(int NO, String NAME, String SEX, int SAGE)
{
this.NO = NO;
this.NAME = NAME;
this.SEX = SEX;
this.SAGE = SAGE;
}
public int getNO()
{
return NO;
}
public void setNO(int NO)
{
this.NO = NO;
}
public String getNAME()
{
return NAME;
}
public void setNAME(String NAME)
{
this.NAME = NAME;
}
public String getSEX()
{
return SEX;
}
public void setSEX(String SEX)
{
this.SEX = SEX;
}
public int getSAGE()
{
return SAGE;
}
public void setSAGE(int SAGE)
{