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

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

    教材学习内容总结

    第十六章 整合数据库
    JDBC

    1.Java语言访问数据库的一种规范,是一套API。

    2.JDBC (Java Database Connectivity) API,即Java数据库编程接口,是一组标准的Java语言中的接口和类,使用这些接口和类,Java客户端程序可以访问各种不同类型的数据库。

    比如建立数据库连接、执行SQL语句进行数据的存取操作。

    3.注册Driver操作:与数据库建立连接的标准方法是调用DriverManager.getConnection方法。

    4.该方法接受含有某个URL的字符串。DriverManager类(即所谓的JDBC管理层)将尝试找到可与那个URL所代表的数据库进行连接的驱动程序。

    5.DriverManager类存有已注册的Driver类的清单。当调用方法getConnection时,它将检查清单中的每个驱动程序,直到找到可与URL中指定的数据库进行连接的驱动程序为止。

    6.Driver的方法connect使用这个URL来建立实际的连接。

    7.取得Connection操作对象:要取得操作对象可以通过DriverManager的getConnection()。

    8.关闭Connection操作对象:使用 close() 来关闭与数据库的连接,或可以使用尝试自动关闭资源语法来简化程序撰写。

    Statement
    1.Statement的executeQuery()方法则是用于SELECT等查询数据库的SQL,executeUpdate()会返回int结果,表示数据变动的笔数,executeQuery()会返回java.sql.ResultSet对象,代表查询的结果,查询的结果会是一笔一笔的数据。

    2.可以使用ResultSet的next()来移动至下一笔数据,它会返回 true 或 false表示是否有下一笔数据,接着可以使用getXXX()来取得数据。如果有些操作只是SQL语句中某些参数会有所不同,其余的SQL子句皆相同,则可以使用java.sql.PreparedStatement。

    3.可以使用Connection的preparedStatement()方法创建好一个预编译(precompile)的SQL命令,其中参数会变动的部分,先指定“?”这个占位字符。

    4.需要真正指定参数执行时,再使用相对应的setInt()、setString()等方法,指定“?”处真正应该有的参数。

    反射与类加载器

    1.Java真正需要某个类时才会加载对应的.class文档,而非在程序启动就加载所有类。

    2.java.lang.Class的实例代表Java应用程序运行时加载的.class文档。

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

    4.例如:Integer.TYPE可取得代表int的Class对象。

    5.如果事先不知道类名称,可以利用Class.forName()动态加载.class文档,取得Class对象之后,利用其newInstance()方法建立类实例。

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

    自定义泛型

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

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

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

    自定义枚举

    1.enum定义了特殊的类,继承自java.lang.Enum。

    2.enum是个抽象类,无法直接实例化。

    3.enum操作Comparable接口,ordinal的值是会使用enum枚举的成员顺序。equals()与hashCode()基本上继承了Object的行为,但被标示为final。

    4.可以使用values()的方法,将内部维护Action枚举实例的数组复制后返回。

    本周代码托管截图

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

    学习的重点在于MySQL的学习,通过在网上搜集资料慢慢对XAMPP有所了解,并且建立起了一个简单的数据库。

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第六周 400/600 2/2 20/20
    第七周 450/700 2/4 18/38
    第八周 500/800 3/7 22/60
    第九周 550/900 2/9 30/90

    参考资料

  • 相关阅读:
    MXNet.gluon——图像I/O
    ECCV2018 论文简析 Oral_1 持续更新
    hdu 3123 GCC
    hdu 2481 Toy
    hdu 3441 Rotation
    hdu 1812 Count the Tetris
    hdu 3923 Invoker
    hdu 1352 I Conduit!
    2013 ACM-ICPC长沙赛区全国邀请赛——Bottles Arrangement
    2013 ACM-ICPC长沙赛区全国邀请赛—Special equations
  • 原文地址:https://www.cnblogs.com/bestizwh/p/5451138.html
Copyright © 2011-2022 走看看