20145229吴姗珊 《Java程序设计》第9周总结
教材学习内容总结
第十六章 整合数据库
JDBC入门
数据库本身是个独立运行的应用程序
撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找
JDBC可以解决更换数据库、应用跨平台的需求
JDBC(Java DataBase Connectivity)是Java联机数据库的标准规范,定义一组标准类与接口,应用程序需要联机数据库时调用这组标准API,标准API中接口会由数据库厂商操作,称为JDBC驱动程序
JDBC标准分为两部分:JDBC应用程序开发者接口、JDBC驱动程序开发者接口(数据库厂商操作驱动程序时的规范)
依操作方式可将驱动程序分为四种类型:JDBC-ODBC Bridge Driver;Native API Driver;JDBC-Net Driver;Native Protocol Driver
Connection接口的操作对象是数据库联机代表对象,要取得Connection操作对象,可以通过DriverManager的getConnection(),除了基本的用户名称、密码之外,还必须提供JDBC URL,其定义了连接数据库时的协议、子协议、数据源识别
取得Connection对象之后,可以使用isClosed()方法测试与数据库连接是否关闭。在操作完之后,若确定不再需要连接,则必须使用close()来关闭与数据库的连接,以释放链接是相关的必要资源。
连接数据库
连接数据库,必须要有厂商操作的JDBC驱动程序,必须在CLASSPATH中设定驱动程序JAR文档
要取得数据库联机,必须的几个动作
注册Driver操作对象
取得Connection操作对象
关闭Connection操作对象
JDBC进阶
MessageDAO依赖于javax.sql.DataSource接口,可以通过其自定义的getConnection()方法取得Connection
交易的四个基本要求是原子性、一致性、隔离行为与持续性,依英文字母首字母简称为ACID。
在交易管理时,仅想要撤回某个SQL执行点,则可以设定存储点。
幻读:同一交易期间,读取到的数据笔数不一致。
批次更新
使用addBatch()方法来收集SQL,并使用executeBatch()方法将所收集的SQL传送出去
SQL的执行顺序就是addBath()时的顺序
使用absolute()、afterlast()、beforeFirst()、first()、last()进行绝对位置移动,使用relative()、previous()、next()进行相对位置移动,成功返回true,使用isAfterLast()、isBeforeFirst()、isFirst()、isLast()判断目前位置
交易简介
交易的4个基本要求是原子性、一致性、隔离行为与持续性(ACID)
JDBC可以操作可以操作Connection的setAutoCommit()方法,给它false自变量,提示数据库开始交易
DBC,通过Connection的getMetaData()方法取得DatabasemetaData对象,通过该对象提供的方法取得数据库整体信息,Result表示查询到的数据
DBC定义了javax.sql.RowSet接口,用以代表数据的列集合
RowSet定义了列列集合基本行为,其下有JdbcRowSet(联机式的)、CachedRowSet(脱机式的)、FilteredRowSet、JoinRowSet与WebRowSet五个标准列操作子接口,定义在javax.sql.rowset
本周代码托管截图
其他(感悟、思考等,可选)
这是最后一次java的课本学习,在过去的九周中肯可能没有像那些特别厉害的同学掌握得非常熟练,但是也学会了很多知识很多技巧,至少学会了分配时间给学习,希望以后的学习能够更加认真
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 200/200 | 1/1 | 15/15 | |
第二周 | 200/200 | 1/1 | 18/18 | |
第三周 | 380/380 | 1/1 | 17/17 | |
第四周 | 300/300 | 1/1 | 18/18 | |
第五周 | 320/320 | 3/3 | 16/16 | |
第六周 | 360/360 | 3/3 | 15/15 | |
第七周 | 580/580 | 2/3 | 16/16 | |
第八周 | 460/460 | 2/3 | 15/15 | |
第九周 | 220/220 | 2/2 | 14/14 |