JDBC day2
20120510
==========================
数据库 java
number(4) int
number(7,2) double
date Date
char(20) String
varchar(20) String
--规范的数据类型对照
rs.getString("name")
rs.getInt("id")
rs.getDouble("salary")
--toString(), ok
rs.getString("id")
rs.getString("hiredate")
rs.getInt("name")//error
今天的内容:
1. JDBC中的事务
2. JDBC中的批处理
3. 分页策略
一.事务Transaction
sqlplus: 必须显式终止事务(提交或回滚)
set autocommit on|off: 切换是否自动提交
默认关闭自动提交(off)
JDBC: 自动提交. autocommit on
conn.setAutoCommit(false);
dml1: - 500
dml2: + 500
if (没有问题) conn.commit();
else conn.rollback();
练习1. JDBC中的事务处理
1. 账户表, 账户A和账户B, A-->500-->B
create table account_ning(
id char(1) primary key,
money number(7,2)
);
insert into account_ning values('A', 1000);
insert into account_ning values('B', 100);
commit;
update account_ning set money = money - 500
where id = 'A';
update accoutn_ning set money = money + 500
where id = 'B';
2. 程序TransactionDemo
try{
conn.setAutoCommit(false);
int n1 = stmt.executeUpdate(sql1);
int n2 = stmt.executeUpdate(sql2);
if (n1 == 1 && n2 == 1)
conn.commit();
else