1,JDBC是一套协议,是JAVA开发人员和数据库厂商达成的协议,也就是由Sun定义一组接口,由数据库厂商来实现,并规定了JAVA开发人员访问数据库所使用的方法的调用规范 2、每个数据库厂商会实现Driver接口,且会调用DriverManager的静态registerDriver方法。如: static { try { DriverManager.registerDriver(new PoolingDriver()); } catch(Exception e) { } } 所以在Class.formName()的时候即已调用了registerDriver方法,而通过DriverManager可以得到Connection(甚至是Driver)。 从这里也可以看出:不一定要Class.forName来加载驱动,可以直接new DriverImpl()的方式。 3、由Connection可以得到Statement或者它的子类PrepareStatement,通过查询得到的结果便是ResultSet,传统的JDBC编程就是围绕这四个类展开的。 4、sql包里提供了很多基本数据类型的接口供数据库厂商实现。值得注意的是java.sql下的Date、Time分别只是日期与时间包装类,与util.Date相对应的是TimeStamp类。 5、很多项目或者个人都喜欢直接往web层返回一个ResultSet,这种做法存在着很大的隐患,ResultSet是基于连接的,往页面上返回ResultSet就要求Connection不能关闭,而Connection不显式地关闭就只能等待自动超时。 在大并发量的情况下马上就挂了。 6、Types.java里提供了每一个数据类型代表的int值,在程序中可以直接调用。 |
|