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


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

    教材学习内容总结

    16.整合数据库

    JDBC(java DateBase Connectivity)是用于执行SQL的解决方案,开发人员使用JDBC的标准接口,数据库厂商则对接口进行操作,开发人员无须接触底层数据库驱动程序的差异性。

    厂商在操作JDBC驱动程序时,依方式可将驱动程序分为4种类型:

    • Type1:JDBC-ODBC Bridge Driver
    • Type1:Native API Driver
    • Type1:JDBC-Net Driver
    • Type1:Native Protocol Driver

    数据库操作相关的JDBC接口或类都位于java.sql 包中。要连接数据库,可以向DriverManager取得Connetion对象。Connection是数据库联机的代表对象,一个Connection对象就代表一个数据库联机。SQLExcrption是在处理JDBC时经常遇到的一个异常对象,为数据库操作过程发生错误时的代表对象。

    取得联机等与数据库来源相关的行为规范在javax.sql.DataSource接口,实际如何取得Connection则由操作接口的对象来负责。

    Connection时数据库连接的代表对象,接下来要执行SQL的话,必须取得javax.sql.Statement对象。它是SQL描述的代表对象。可以使用ConnectioncreateStatement()来建立Statement()对象

    StatementexecuteQuery()方法则是用于SELECT等查询数据库的SQL,executeUpdate()会返回int结果,表示数据变动的笔数,executeQuery()会返回java.sql.ResultSet对象,代表查询的结果,查询的结果会是一笔一笔的数据。可以使用ResultSetnext()来移动至下一笔数据,它会返回true或是false表示是否有下一笔数据,接着可以使用getxxxx()来取得数据

    在使用ConnectionStatementResultSet时,要将之关闭以释放相关资源。

    如果有些操作只是SQL语句当中某些参数会有所不同,其余的SQL子句皆相同,则可以使用java.sql.PrepareStatement。可以使用ConnectionprepareStatement()方法建立好一个预先编译的SQL语句,当中参数会变动的部分,先指定“?”这个占位字符。等到需要真正指定参数执行时,在使用相对应的setInt()setString()等方法,指定“?”处真正该有的参数。

    教材学习中的问题和解决过程

    关于书上514页的MessageDAODemo.java得到的结果如下

    假如我们没有事先Connection连接数据库,就会抛出java.sql.SQLExceptionNo suitable driver found for jdbc

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

    虽说这周看似要自学三章,其实我就学了一章,java的核心知识与难点之前都已经学完了,后面的章节全都是介绍一些类的应用。我知道第16章、第17章和第18章跟之前一样,还是介绍一些类的应用,于是我采取和之前一样的办法,一边看书,一边总结,看书上总共介绍了多少种API,每一种API的架构是什么,每一种API的作用与注意事项是什么。就这样有系统的去学习,感觉效率十分高!不过我感觉后面的并没有前面那么有用,毕竟前面的是重点。java是一门很好的语言,如果不搞这么多奇怪的东西就好了

    学习进度条

    代码托管截图

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 200/200 1/1 20/20
    第二周 300/500 1/2 18/38
    第三周 500/1000 1/3 22/60
    第四周 500/1500 1/4 30/90
    第五周 400/1900 1/5 20/110
    第六周 400/2300 2/7 20/130
    第七周 300/2600 2/9 15/145
    第八周 284/2884 2/11 20/165
    第九周 923/3807 2/13 20/185

    参考资料

  • 相关阅读:
    批量修改数据后应收集统计信息
    this,this,再次讨论javascript中的this,超全面
    javascript中的闭包,超简单论述,保证小学生必懂
    有四中方法可以实现PHP的伪静态,你造吗?
    javascript 事件传播与事件冒泡,W3C事件模型
    浅谈asp.net性能
    div浮动层 兼容IE FF
    我们这些程序员
    c++学习笔记_1
    windows下hexo+github搭建个人博客
  • 原文地址:https://www.cnblogs.com/zqh20145320/p/5450280.html
Copyright © 2020-2023  润新知