您的位置:首页 > 编程语言 > Java开发

20145205 《Java程序设计》第9周学习总结

2016-05-01 21:00 162 查看

教材学习内容总结

第十六章

JDBC简介

撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找

JDBC目的:让Java程序设计人员在撰写数据库操作程序时可以有个统一的接口,无须依赖特定的数据库API,“写一个Java程序,操作所有数据库”

连接数据库

联机数据库,需要在
classpath
中设定JDBC驱动程序

基本数据库操作相关JDBC接口或类是为位于
java.sql
包中

Connection
接口的操作对象是数据库联机代表对象

使用
Statement、ResultSet


Statement
是SQL描述的代表对象,可以使用
executeUpdate()
executeQuery()
等方法来执行SQL。

Statement
executeUpdate()
方法用于
SELECT
等查询数据库的SQL,返回int结果,表示数据变动的笔数

Statement
executeQuery()
方法返回
java.sql.ResultSet
对象,代表查询结果。

Statement
execute()
方法用来执行SQL,返回
true
表示SQL执行将返回
ResultSet
作为查询结果。

使用
PreparedStatement
CallableStatement


如果有些操作只是SQL语句当中某些参数会有所不同,其余的SQL子句皆相同,则可以使用
java.sql.PreparedStatement
。调用
clearParametere()
清除设置的参数,之后就能再次使用这个

PreparedStatement
实例。

如果撰写数据库的预存程序,并想要使用JDBC来调用,则可使用
java.sql.CallableStatement
。必须调用
prepareCall()
建立
CallableStatement
异常,可以使用
registerOutParameter()
注册输出参数。

使用
DataSource
取得联机

MessageDAO
依赖于
java.sql.DataSource
接口,可以通过其定义的
getConnection()
方法取得
Connection


日后要修改数据库服务器主机位置,为了打算重复利用
Connection
对象而想要加入联机池机制等情况,这个
MessageDAO
都不用修改。

联机相关信息可以使用.properties设定。

使用
ResultSet
卷动、更新数据建立
Statement
PreparedStatement
实例时,可以指定结果集类型与并行方式。

批次更新

批次更新的限制是,SQL不能使SELECT,否则会抛出异常。

要支持批次更新,必须在JDBC URL 上附加
rewriteBatchedStatements
=
true
参数才有实际的作用。

Blob
Clob


BLOB
用于存储大量的二进制数据,像是图档、影音档等;
CLOB
用于存储大量的文字数据。

可以把
BLOB
字段对应
byte[]
或输入\输出串流。

交易简介

在交易管理时,仅想要撤回某个SQL执行点,则可以设定存储点。

通过JDBC得知数据库是否支持某个隔离行为设定,可以通过
Connection
getMetaData()
取得
DatabaseMetadata
对象,通过
DatabaseMetadata
supportTransaction-IsolationLevel()
得知是否支持某个隔离行为。

metadata
简介
Metadata
即“诠读数据的数据”,可以通过
connection
getMetaData()
方法取得

DatabaseMetaData
对象,可以取得数据库整体信息,而
ResultSet
表示查询到的数据,可以通过
ResultSet
getMetaData()
方法,取得
ResultSetMetaData
对象。

RowSet
简介
javax.sql.RowSet
接口,代表数据的列集合。可以对列集合进行增删改查。通过
setCommand()
设定查询指令,通过
execute()
执行查询指令以填充数据。

其他(感悟、思考等,可选)

本周因为个人的一些事情对于学习比较懈怠,没有很好的区分开生活和学习,让生活中的事情影响了学习,但是人本来就是感性的,也是我们区别于蛮夷的分界线,面对挫折或是困难或是低谷或是发现人心难测更或是世道艰险,我们难度真的可以一带而过,去机械的做自己的工作?即使是干了几十年的老医生,面对死亡尚且难过多日,更不说事情发生在自己的身上的时候,那个中滋味又能与谁堪说,欠下总会补上的,但是错过的就是错过了。

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标4500行25篇350小时
第一周100/1001/215/15
第二周150/2501/312/27
第三周400/6501/422/49
第四周510/11601/532/81
第五周831/19911/635/116
第六周945/19912/626/142
第七周236/22273/918/160
第八周267/24942/1118/178
第九周136/26202/1310/188

参考资料

Java学习笔记(第8版)

《Java学习笔记(第8版)》学习指导
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: