获得JDBC学习示例 - 编程入门网
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-06-25
ldquo;联合”,或者join)只包含了单张表的数据库(就象目前这个)通常叫作“平面文件数据库”。对于大多数问题,如果已经超过了简单的数据存储与获取力所能及的范围,那么必须使用多个数据表。通过“联合”,从而获得希望的结果。我们把这些叫作“关系型”数据库。3. 步骤3:测试配置为了对配置进行测试,需用一种方式核实数据库是否可由查询它的一个程序“见到”。当然,可以简单地运行上述的JDBC示范程序,并加入下述语句:Connection c = DriverManager.getConnection(dbUrl, user, password);若掷出一个违例,表明你的配置有误。然而,此时很有必要使用一个自动化的查询生成工具。我使用的是与Microsoft Office配套提供的Microsoft Query,但你完全可以自行选择一个。查询工具必须知道数据库在什么地方,而Microsoft Query要求我进入ODBC Administrator的“文件DSN”卡片,并在那里新添一个条目。同样指定文本驱动程序以及保存数据库的目录。虽然可将这个条目命名为自己喜欢的任何东西,但最好还是使用与“系统DSN”中相同的名字。做完这些工作后,再用查询工具创建一个新查询时,便会发现自己的数据库可以使用了。4. 步骤4:建立自己的SQL查询我用Microsoft Query创建的查询不仅指出目标数据库存在且次序良好,也会自动生成SQL代码,以便将其插入我自己的Java程序。我希望这个查询能够检查记录中是否存在与启动Java程序时在命令行键入的相同的“姓”(Last Name)。所以作为一个起点,我搜索自己的姓“Eckel”。另外,我希望只显示出有对应E-mail地址的那些名字。创建这个查询的步骤如下:(1) 启动一个新查询,并使用查询向导(Query Wizard)。选择“people”数据库(等价于用适应的数据库URL打开数据库连接)。(2) 选择数据库中的“people”表。从这张数据表中,选择FIRST,LAST和EMAIL列。(3) 在“Filter Data”(过滤器数据库)下,选择LAST,并选择“equals”(等于),加上参数Eckel。点选“And”单选钮。(4) 选择EMAIL,并选中“Is not Null”(不为空)。(5) 在“Sort By”下,选择FIRST。查询结果会向我们展示出是否能得到自己希望的东西。现在可以按下SQL按钮。不需要我们任何方面的介入,正确的SQL代码会立即弹现出来,以便我们粘贴和复制。对于这个查询,相应的SQL代码如下:若查询比较复杂,手工编码极易出错。但利用一个查询工具,就可以交互式地测试自己的查询,并自动获得正确的代码。事实上,亲手为这些事情编码是难以让人接受的。5. 步骤5:在自己的查询中修改和粘贴我们注意到上述代码与程序中使用的代码是有所区别的。那是由于查询工具对所有名字都进行了限定,即便涉及的仅有一个数据表(若真的涉及多个数据表,这种限定可避免来自不同表的同名数据列发生冲突)。由于这个查询只需要用到一个数据表,所以可考虑从大多数名字中删除“people”限定符,就象下面这样:SELECT people.FIRST, people.LAST, people.EMAIL FROM people.csv people WHERE (people.LAST=''Eckel'') AND (people.EMAIL Is Not Null) ORDER BY people.FIRST 此外,我们不希望“硬编码”这个程序,从而只能查找一个特定的名字。相反,它应该能查找我们在命令行动态提供的一个名字。所以还要进行必要的修改,并将SQL语句转换成一个动态生成的字串。如下所示:SELECT FIRST, LAST, EMAIL FROM people.csv people WHERE (LAST=''Eckel'') AND (EMAIL Is Not Null) ORDER BY FIRST "SELECT FIRST, LAST, EMAIL " + "FROM p |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 设计范式 - 编程入门网下一篇: 访问器范式 - 编程入门网
关于获得JDBC学习示例 - 编程入门网的所有评论