jdbc4.2较之前的jdbc增加了功能,java8开始支持jdbc4.2。DriverManager是管理数据库驱动的服务类,主要的方法是getConnection,这是一个静态、同步方法。Statement用来执行sql语句,PreparedStatement和CallableStatement是Statement的子类,分别是预编译sql的Statement和执行存储过程的Statement。Statement的三个主要方法是,executeQuery只能执行查询,executeUpdate执行更新操作,返回的是更新的记录数,也可以执行DDL,这个时候返回的是0,execute可以执行各种操作,如果返回的第一条结果含有ResultSet,那么返回true,否则返回false。如果是PreparedStatement,也有上面的三个方法,但是不再需要给方法传入sql,只需要对创建的statement对象set参数值,根据类型调用不同的set方法setXxx(int columnIndex, Xxx val)。当更新的记录数目超过Integer.MAX_VALUE,可以使用executeLargeUpdate,这个是加强班的executeUpdate。除此之外,有一些事务相关的方法,例如commit(),savePoint()。操作ResultSet的记录指针有beforeFirst(),first(),last(),afterLast(),next(),before()。在Java SE 1.4以前不支持直接定位和向前移动的。
JDBC一是要处理底层的事务管理、数据类型、Connection、Statement、ResultSet、并正确关闭;二是需要捕获异常。ORM都是对JDBC进行封装的,不同的ORM对JDBC的封装强度是不一样的。