20145309李昊第九周学习总结

教材学习内容总结

第十六章 整合数据库

一、JDBC入门

(一)JDBC简介

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

  1. JDBC-ODBC Bridge Driver

    • 将JDBC调用转换为对ODBC驱动程序的调用,由ODBC驱动程序操作数据库
    • 功能受限,弹性不足
  2. Native API Driver

    • 以原生方式调用数据库提供的原生链接库,JDBC的方法调用都会转换为原生链接库中的相关API调用
    • 速度优势
  3. JDBC-Net Driver

    • 将JDBC方法调用转换为特定的网络协议调用,远程与数据库特定的中介服务器或组件进行协议操作
    • 速度较慢,获得架构弹性
  4. Native Protocol Driver

    • 将JDBC调用转换为与数据库特定的网络协议,以与数据库进行沟通操作
    • 可以跨平台,不需要获得架构弹性时使用

(二)连接数据库

  1. 注册Driver对象:调用registerDriver()方法
  2. 取得Connection操作对象:getConnection()
  3. 关闭Connection操作对象:close()(isClosed()方法可以测试与数据库的连接是否关闭)

    范例ConnectionDemo

(三)使用Statement、ResultSet

  1. 要执行SQL,必须取得java.sql.Statement操作对象
  2. 使用createStatement()建立Statement对象
  3. executeQuery():用于SELECT等查询数据库的SQL,返回java.sql.ResultSet对象
  4. executeQuery():返回int结果

    范例MessageDAO

    范例Message

    范例MessageDAODemo

(四)使用PreparedStatement、CallableStatement

  1. 如果有些操作只是SQL语句中某些参数会有不同,其余相同,则可以使用java.sql.PreparedStatement
  2. 使用preparedStatement()方法建立好预先编译的SQL语句,参数变动部分用“?”
  3. 使用executeUpdate()和executeQuery()方法让SQL执行生效
  4. 执行完毕,调用clearParameters()清除设置参数

    范例MessageDAO

 

第17章

运用反射 JAVA真正需要某个类时才会加载对应的.class文档,不是程序启动时就加载所有类。

通过Object的getClass()方法,或者.class常量取得每个对象对应的class对象,如果是基本类型,也可以使用对应的打包类加上.TYPE取得Class对象。例如,Integer.TYPE可取得代表int的Class对象。

使用`class.forName()的方法来实现动态加载类。

java.lang.reflect.Method实例是方法的代表对象,可以使用invoke()方法来动态调用指定的方法。

了解类加载器(ClassLoader)

是指将.class文件中的二进制数据读入到内存中,将其放在运行时数据的方法区内,然后再堆区创建这个类的java.lang.Class对象,用来封装类在方法区类的对象。

JVM将类加载过程分为三个步骤:装载(Load),链接(Link)和初始化(Initialize)链接又分为三个步骤。

第18章

自定义泛型

在定义泛型时,使用extends限定指定T实际类型时,必须是某类的子类。在定义泛型时,使用extends限定指定T实际类型时,必须是某类的子类。

共变性(Covariance):,B是A的子类,Node B可视为一种Node A ,称Node具有共变性。

通配字符“?”与extends限制T的类型,只能通过T声明的名称取得对象指定给Object,或将T声明的名称指定为null。

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

学习过程中只是有一些名词不清楚,查过就好了,就不一一例举了,十七十八章学期初老师划掉了,所以只是看了一遍

posted on 2016-05-02 23:25  20145309李昊  阅读(158)  评论(0编辑  收藏  举报