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

    第十六章 整合数据库

    JDBC

    • Java语言访问数据库的一种规范,是一套API。
    • JDBC (Java Database Connectivity) API,即Java数据库编程接口,是一组标准的Java语言中的接口和类,使用这些接口和类,Java客户端程序可以访问各种不同类型的数据库。
    • 比如建立数据库连接、执行SQL语句进行数据的存取操作。
    • 注册Driver操作:与数据库建立连接的标准方法是调用DriverManager.getConnection方法。
    • 该方法接受含有某个URL的字符串。DriverManager类(即所谓的JDBC管理层)将尝试找到可与那个URL所代表的数据库进行连接的驱动程序。
    • DriverManager类存有已注册的Driver类的清单。当调用方法getConnection时,它将检查清单中的每个驱动程序,直到找到可与URL中指定的数据库进行连接的驱动程序为止。
    • Driver的方法connect使用这个URL来建立实际的连接。
    • 取得Connection操作对象:要取得操作对象可以通过DriverManager的getConnection()。
    • 关闭Connection操作对象:使用 close() 来关闭与数据库的连接,或可以使用尝试自动关闭资源语法来简化程序撰写。

    Statement

    • Statement的executeQuery()方法则是用于SELECT等查询数据库的SQL,executeUpdate()会返回int结果,表示数据变动的笔数,executeQuery()会返回java.sql.ResultSet对象,代表查询的结果,查询的结果会是一笔一笔的数据。
    • 可以使用ResultSet的next()来移动至下一笔数据,它会返回 true 或 false表示是否有下一笔数据,接着可以使用getXXX()来取得数据。如果有些操作只是SQL语句中某些参数会有所不同,其余的SQL子句皆相同,则可以使用java.sql.PreparedStatement。
    • 可以使用Connection的preparedStatement()方法创建好一个预编译(precompile)的SQL命令,其中参数会变动的部分,先指定“?”这个占位字符。
    • 需要真正指定参数执行时,再使用相对应的setInt()、setString()等方法,指定“?”处真正应该有的参数。

    反射与类加载器

    • Java真正需要某个类时才会加载对应的.class文档,而非在程序启动就加载所有类。
    • java.lang.Class的实例代表Java应用程序运行时加载的.class文档。
    • 可以通过Object的getClass()方法,或者通过.class常量取得每个对象对应的Class对象,如果是基本类型,也可以使用对应的打包类加上.TYPE取得Class对象。
    • 例如:Integer.TYPE可取得代表int的Class对象。
    • 如果事先不知道类名称,可以利用Class.forName()动态加载.class文档,取得Class对象之后,利用其newInstance()方法建立类实例。
    • java.lang.reflect.Method实例是方法的代表对象,可以使用invoke()方法来动态调用指定的方法。

    自定义泛型

    • 在定义泛型时,使用extends限定指定T实际类型时,必须是某类的子类。
    • 共变性(Covariance):B是A的子类Node可视为一种Node,称Node具有共变性。
    • 通配字符“?”与extends限制T的类型,只能通过T声明的名称取得对象指定给Object,或将T声明的名称指定为null。

    自定义枚举

    • enum定义了特殊的类,继承自java.lang.Enum。
    • enum是个抽象类,无法直接实例化。
    • enum操作Comparable接口,ordinal的值是会使用enum枚举的成员顺序。equals()与hashCode()基本上继承了Object的行为,但被标示为final。
    • 可以使用values()的方法,将内部维护Action枚举实例的数组复制后返回。
  • 相关阅读:
    Java实现 蓝桥杯VIP 算法训练 字符删除
    Java实现 蓝桥杯VIP 算法训练 字符删除
    Java实现 蓝桥杯VIP 算法训练 字符删除
    Java实现 蓝桥杯VIP 算法训练 字符删除
    Java实现 蓝桥杯VIP 算法训练 字符删除
    Java实现 蓝桥杯VIP 算法训练 字符串编辑
    Java实现 蓝桥杯VIP 算法训练 字符串编辑
    Java实现 蓝桥杯VIP 算法训练 字符串编辑
    Java实现 蓝桥杯VIP 算法训练 字符串编辑
    Java实现 蓝桥杯VIP 算法训练 字符串编辑
  • 原文地址:https://www.cnblogs.com/20145235litao/p/5451010.html
Copyright © 2011-2022 走看看