zoukankan      html  css  js  c++  java
  • 20145205 《Java程序设计》第9周学习总结

    教材学习内容总结

    第十六章

    JDBC简介

    撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找
    JDBC目的:让Java程序设计人员在撰写数据库操作程序时可以有个统一的接口,无须依赖特定的数据库API,“写一个Java程序,操作所有数据库”

    连接数据库

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

    基本数据库操作相关JDBC接口或类是为位于java.sql包中
    Connection接口的操作对象是数据库联机代表对象

    使用Statement、ResultSet

    Statement是SQL描述的代表对象,可以使用executeUpdate()executeQuery()等方法来执行SQL。
    StatementexecuteUpdate()方法用于SELECT等查询数据库的SQL,返回int结果,表示数据变动的笔数
    StatementexecuteQuery()方法返回java.sql.ResultSet对象,代表查询结果。
    Statementexecute()方法用来执行SQL,返回true表示SQL执行将返回ResultSet作为查询结果。

    使用PreparedStatementCallableStatement
    如果有些操作只是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卷动、更新数据建立StatementPreparedStatement实例时,可以指定结果集类型与并行方式。

    批次更新

    批次更新的限制是,SQL不能使SELECT,否则会抛出异常。
    要支持批次更新,必须在JDBC URL 上附加rewriteBatchedStatements = true 参数才有实际的作用。

    BlobClob

    BLOB用于存储大量的二进制数据,像是图档、影音档等;CLOB用于存储大量的文字数据。
    可以把BLOB字段对应byte[]或输入输出串流。

    交易简介

    在交易管理时,仅想要撤回某个SQL执行点,则可以设定存储点。
    通过JDBC得知数据库是否支持某个隔离行为设定,可以通过ConnectiongetMetaData()取得DatabaseMetadata对象,通过DatabaseMetadatasupportTransaction-IsolationLevel()得知是否支持某个隔离行为。

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

    DatabaseMetaData对象,可以取得数据库整体信息,而ResultSet表示查询到的数据,可以通过ResultSetgetMetaData()方法,取得ResultSetMetaData对象。
    RowSet简介javax.sql.RowSet接口,代表数据的列集合。可以对列集合进行增删改查。通过setCommand()设定查询指令,通过execute()执行查询指令以填充数据。

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

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

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 4500行 25篇 350小时
    第一周 100/100 1/2 15/15
    第二周 150/250 1/3 12/27
    第三周 400/650 1/4 22/49
    第四周 510/1160 1/5 32/81
    第五周 831/1991 1/6 35/116
    第六周 945/1991 2/6 26/142
    第七周 236/2227 3/9 18/160
    第八周 267/2494 2/11 18/178
    第九周 136/2620 2/13 10/188

    参考资料

  • 相关阅读:
    Largest Rectangle in Histogram
    Valid Sudoku
    Set Matrix Zeroes
    Unique Paths
    Binary Tree Level Order Traversal II
    Binary Tree Level Order Traversal
    Path Sum II
    Path Sum
    Validate Binary Search Tree
    新手程序员 e
  • 原文地址:https://www.cnblogs.com/20145205y/p/5451153.html
Copyright © 2011-2022 走看看