阳光VIP

少壮不努力,老大徒伤悲。平日弗用功,自到临期悔。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

9月26日培训日记

Posted on 2006-09-28 08:41  阳光VIP  阅读(108)  评论(0编辑  收藏  举报

通过检查学员的作业,复习Spring中的JdbcTemplate和RowMapper的应用,有的学员本来自己无法完成昨天的作业,但通过昨天的思考和今天对其他学员作业的讲解,也跟着学会了如何完成作业。
讲解元数据对象:连接,结果集,PreparedStatement参数。元数据对象用于获取数据库结构和表结构信息,例如,获取某个数据库的所有表名,获取某个表中所有列的名称及其数据类型。还可以通过元数据对象了解驱动程序所支持的功能。
getTables方法的各个参数及返回结果中各列的信息。
凡是要用到DatabaseMetadata的方法进行检测的特性和方法调用,应在该方法后面补充说明一下。调用DatabaseMetadata的getMajor方法得到驱动程序的版本号,可了解该驱动程序支持的方法。DatabaseMetadata的getMaxConnections和getMaxStatements方法可获得数据库支持的最大连接数和每个连接的statement个数。
ResultSetMetadata的重要方法:getColumnCount、getColumnName。

作业:编写一个程序,用“show -d 库名”显示出库中的所有表,用“show -t 表名”显示出一个表中的各个字段信息,用“show -i 表明”显示出一个表中的各个字段名及相应的各行数据。
课堂上随手写的一段示意代码:
ResultSet rs;
ResultSetMetaData rsmd = rs.getMetaData();
colnum = rsmd.getColumnCount()
for(int i=1;i<colnum;i++)
{
 System.out.print(rsmd.getColumnName(i) + "    ")
}
System.out.println(rsmd.getColumnName(i));

while(rs.next())
{
 for(int i=1;i<colnum;i++)
 {
  System.out.print(rs.getString(i) + "    ")
 }
 System.out.println(rs.getString(i));
}

Spring中的SQLUpdate和MappingSqlQuery的应用:SQLUpdate也叫更改对象,我们是直接可以使用它来完成数据库记录的更改操作;MappingSqlQuery也叫查询对象,实际上它仅仅是查询对象的抽象基类,我们是要先自己创建出查询对象,然后使用这个查询对象。

关于“尽量使用组合,避免使用继承”的实际分析讲解:
A继承B:
class A extends B
{
 doSomeThing()
 {
  /*B.*/method1();
  /*B.*/method2();
 }
}
实际上在A中相当于创建了一个B,只是这个创建过程是自动的和隐含的。
A调用B的比较:
class A extends B
{
 doSomeThing()
 {
  B b = new B()
  b.method1();
  b.method2();
 }
}

明天开始放国庆假,有些学员下午要赶火车,所以,下午无法再给大家集体上课了,学员们从开学到现在,一直忙于紧张的学习之中,一个多月来,很多人都无暇顾及北大校园的美景,索性安排组织一些留校的学员游览北大校园风景.