第十六章 整合数据库

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枚举实例的数组复制后返回。

20145235 《Java程序设计》第9周学习总结的更多相关文章

  1. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  2. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  3. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  4. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  5. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

  6. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

  7. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  8. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

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

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

  10. 《Java程序设计》第二周学习总结

    20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...

随机推荐

  1. Nginx 服务器安装及配置文件详解

    原文出处: Sean Chow(@SeanLoook)   欢迎分享原创到伯乐头条 Nginx 在工作中已经有好几个环境在使用了,每次都是重新去网上找博客,各种编译配置,今天自己也整理一份安装文档和 ...

  2. phpcms-v9中建立wap手机站点

    web网站用的是phpcms v9搭建的,为了方便手机用户浏览网站,于是用phpcms v9自带的手机门户模块搭建了个wap站(http:.org换成你的wap网站域名----------- 到这一步 ...

  3. 解决Inno Setup制作安装包无法创建桌面快捷方式的问题

    转自:http://yedward.net/?id=104 昨天想把个java程序做成exe安装软件,然后就去下载了Inno Setup这个软件安装包制作软件,Inno Setup这个软件确实非常好用 ...

  4. 表现层(jsp)、持久层(类似dao)、业务层(逻辑层、service层)、模型(javabean)、控制层(action)

    转自:http://www.blogjava.net/jiabao/archive/2007/04/08/109189.html 为了实现web层(struts)和持久层(Hibernate)之间的松 ...

  5. Ubuntu 登录命令和赋值命令

    一. Ubuntu 设定root权限 进入 Terminal,输入命令su 如果没有给su赋root权限,则输入  sudo passwd root 赋值输入密码. 截图如下 二.以root身份进入l ...

  6. androidSDK也要配置环境变量(转)

    android的开发人员来说,首先要做的就是环境变量的配置.java是需要配置环境变量的.当然,安卓的环境变量需要我们配置adb的使用,将开发平台的两个工具包配置到环境变量里. 工具/原料 andro ...

  7. web异常、并发与安全

  8. 从数据库得到的结果集存放到List集合中

    一.业务阐述 在开发中查询的数据库结果集,既要连接数据库.执行数据库操作.关闭数据库,还要把结果集的记录人为的设置到自己封装的DAO中等一系列的重复代码. 本文主要是想解决:用户只需要得到数据库连接, ...

  9. loadrunner中创建唯一随机数

    常用的时间唯一脚本: Action() { int id, scid; char *vuser_group,strid[5];       char proposalNo[1024]; int i; ...

  10. BZOJ3309 : DZY Loves Math

    莫比乌斯反演得 $ans=\sum g[i]\frac{a}{i}\frac{b}{i}$ 其中$g[i]=\sum_{j|i}f[j]\mu(\frac{i}{j})$ 由f和miu的性质可得 设$ ...