使用Java已经两年多时间,从未深入地学习过某个专门的东西,一直都是工作中用到什么,然后学什么,似乎什么都懂得一点,其实是啥都不懂。于是,有这样的念头,深入学习一个框架,不仅掌握其应用,而且理解其原理,类似武侠小说中练好内功,有了深厚内功为基础之后,学习新的招式,一点就通。还有一个想法是,通过写博客,能让自己不断地学习和提升。
Java开源世界有很多优秀的框架,最近自己在使用hibernate,所以选择hibernate来研究。
Hibernate是关系与对象的映射框架(ORM),它的基础是JDBC,从最基本的JDBC开始学起。下面是一个我自己写的简单DEMO:
// 注册加载jdbc驱动
Class.forName("org.hsqldb.jdbcDriver").newInstance();
// 创建一个到数据库的连接
Connection conn = DriverManager.getConnection(
"jdbc:hsqldb:hsql://localhost", "sa", "");
// 创建一个statement
Statement statement = conn.createStatement();
// 使用statement对象执行SQL语句
statement.execute("select * from events");
// 处理结果集:打印所有行数据
ResultSet rs = statement.getResultSet();
while (rs.next()) {
System.out.println("ID:" + rs.getInt(1) + " TITLE:"
+ rs.getString(2) + " DATE:" + rs.getDate(3));
}
// 释放jdbc相关对象资源
rs.close();
statement.close();
conn.close();
以上是个最简单的JDBC应用,所有的JDBC应用都会有同样的这几个步骤:
- 注册一个JDBC驱动(使用反射动态加载一个driver实例)
- 建立一个到数据库的连接(应用程序要与数据库交互必须先建立一个连接)
- 创建一个statement对象(正如statement的中文意思:语句,这是一个用于执行SQL语句的对象)
- 使用statement对象执行SQL语句(如查询select)
- 处理语句执行的结果(ResultSet类对象用于存放查询的结果集,可通过该对象处理结果集)
- 释放JDBC使用到的对象资源(数据库资源是有限昂贵的,我们使用完后,要释放这些资源给其它应用使用)