2007-10-27
一个简单的JDBC例子
关键字: JDBC
朋友开始学JAVA,刚学到JDBC,找我写个例子给他看看。心想这容易,可是打开eclispe却下不了手——居然只记得有个DataSource、有个ResultSet,然后……然后就没有了。查了Java doc才又想起。唉,看来这些零零散散的东西还是需要记下来才行。
顺便提一下,在JDBC中对于如int,long,boolean等值的返回是不会返回null的。如getInt(),如果数据库中值为NULL,则返回的时候是0。这样我们就不知道到底数据库中存的是NULL还是0。怎么办呢?幸好JDBC还提供给我们这么一个函数——getObject()。是的,它返回的是一个Object对象,这样我们就可以对这个Object对象进行判空,从而获悉数据库中此值是NULL还是0了。
我们获取这些有可能为NULL的值的时候,可以这么写:
(完)
java 代码
- // 载入驱动
- Class.forName("com.mysql.jdbc.Driver");
- // 建立连接
- Connection con = DriverManager.getConnection(
- "jdbc:mysql://localhost:3306/demo", "test", "test");
- // 创建状态
- Statement stmt = con.createStatement();
- // 执行SQL语句,返回结果集
- ResultSet rs = stmt.executeQuery("SELECT * FROM person");
- // 对结果集进行处理
- while (rs.next()) {
- int id = rs.getInt("id");
- String name = rs.getString("name");
- Integer age = rs.getObject("age") == null ? null : rs.getInt("age");
- System.out.println(id + ": " + name + " " + age);
- }
- // 释放资源
- stmt.close();
- con.close();
顺便提一下,在JDBC中对于如int,long,boolean等值的返回是不会返回null的。如getInt(),如果数据库中值为NULL,则返回的时候是0。这样我们就不知道到底数据库中存的是NULL还是0。怎么办呢?幸好JDBC还提供给我们这么一个函数——getObject()。是的,它返回的是一个Object对象,这样我们就可以对这个Object对象进行判空,从而获悉数据库中此值是NULL还是0了。
我们获取这些有可能为NULL的值的时候,可以这么写:
java 代码
- Integer age = rs.getObject("age") == null ? null : rs.getInt("age");
(完)
发表评论
- 浏览: 28380 次
- 性别:

- 来自: 广州

- 详细资料
搜索本博客
最新评论
-
Visitor - 访问者模式
楼主大哥的这个vistor模式,小弟偶曾在工商银行取钱时就是这样的,呵呵,更加深 ...
-- by h_yz -
Visitor - 访问者模式
受教了,真的很不错。
-- by wjh0205 -
Visitor - 访问者模式
有一点没说:访问者模式一般用在数据结构稳定的情况下。银行这个例子不是很合适,因为 ...
-- by 渐行渐远 -
Visitor - 访问者模式
lintomny 写道 话说有一个银行,有三个窗口,但是每个窗口的智能都是 ...
-- by farryu -
Visitor - 访问者模式
解释的不错,不过可能稍有点不够详细。
-- by zhangcheng






评论排行榜