JDBC访问数据库的步骤:
- 加载驱动(jar文件)
- Class.forName(“oracle.jdbc.driver.OracleDriver”);
- 创建连接
- Connection conn=DriverManager.getConnection(url,usenname,password);
- 创建PreparedStatement对象
- PreparedStatement pstm=conn.prepareStatement(sql);
- 设置参数:
- pstm.setObject(序号,值)
- 操作数据库
- ResultSet rs=pstm.executeQuery()//select
- int a=pstm.executeUpdate()//insert,update,delete
- 如果是查询
- rs.next()
- rs.getXX(字段名)
- 释放资源
- rs.close()//如果有
- pstm.close()
- conn.close()
开发步骤:
- 创建数据库表和序列
- 创建实体类(属性对应字段):属性不建议使用基本数据类型,建议使用对应包装类型,这样即使数据库中对应字段为null,也不会报错;
- 定义接口,定义标准
- 创建DAO对象
- 编写工具类(DBUtil、ConfigReader)
- 创建Biz对象
- 在dao对象中不能关闭连接
- 在biz对象中控制事务并关闭连接
原子操作:
不可分割的多个操作,如果所有步骤都成功,才成功,有一个步骤失败,所有步骤都无效。
在数据库中使用数据库的事务控制原子操作
数据库事务:
开始:从上一个事务结束以后第一个DML语句(insert、update、delete)
结束:TCL语句(commit/rollback)
事务的特点:ACID
- 原子性(automicity):一个事务中的多个操作是不可分割的
- 一致性(consistency):事务前后的数据是一致的
- 隔离型(Isolation):多个事务之间是隔离的
- 永久性(durability):事务一旦提交,对数据库的影响就是永久的
数据库约束:
1.唯一约束
2.非空约束
3.主键约束
4.检查约束
5.外键约束