当前位置:天才代写 > tutorial > JAVA 教程 > 得到JDBC进修示例

得到JDBC进修示例

2017-11-13 08:00 星期一 所属: JAVA 教程 浏览:400

就JDBC来说,代码自己是很容易领略的。最令人疑惑的部门是如何使它在本身特定的系统上运行起来。之所以会感想疑惑,是由于它要求我们把握如何才气使JDBC驱动措施正确装载,以及如何用我们的数据库打点软件来配置一个数据库。
虽然,详细的操纵进程在差异的呆板上也会有所区别。但这儿提供的在32位Windows情况下操纵进程可有效辅佐各人领略在其他平台上的操纵。

1. 步调1:寻找JDBC驱动措施
上述措施包括了下面这条语句:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
这好像体现着一个目次布局,但各人不要被它蒙骗了。在我手上这个JDK 1.1安装版本中,基础不存在叫作JdbcOdbcDriver.class的一个文件。所以如果在看了这个例子后去寻找它,那么一定会徒劳而返。另一些人提供的例子利用的是一个化名字,如“myDriver.ClassName”,但人们从字面上得不到任何辅佐。事实上,上述用于装载jdbc-odbc驱动措施(实际是与JDK 1.1配套提供的独一驱动)的语句在联机文档的多处处所均有呈现(出格是在一个标志为“JDBC-ODBC Bridge Driver”的页内)。若上面的装载语句不能事情,那么它的名字大概已跟着Java新版本的宣布而改变了;此时应到联机文档里寻找新的表述方法。
若装载语句堕落,会在这个时候获得一个违例。为了检讨驱动措施装载语句是不是能正常事情,请将该语句后头直到catch从句之间的代码临时设为注释。假如措施运行时未呈现违例,表白驱动措施的装载是正确的。

2. 步调2:设置数据库
同样地,我们只限于在32位Windows情况中事情;您大概需要研究一下本身的操纵系统,找出适合本身平台的设置要领。
首先打开节制面板。个中大概有两个图标都含有“ODBC”字样,必需选择谁人“32位ODBC”,因为另一个是为了保持与16位软件的向后兼容而配置的,和JDBC混用没有任何功效。双击“32位ODBC”图标后,看到的应该是一个卡片式对话框,上面一排有多个卡片标签,个中包罗“用户DSN”、“系统DSN”、“文件DSN”等等。个中,“DSN”代表“数据源名称”(Data Source Name)。它们都与JDBC-ODBC桥有关,但配置数据库时独一重要的处所“系统DSN”。尽量如此,由于需要测试本身的设置以及建设查询,所以也需要在“文件DSN”中配置本身的数据库。这样便可让Microsoft Query东西(与Microsoft Office配套提供)正确地找到数据库。留意一些软件公司也设计了本身的查询东西。
最有趣的数据库是我们已经利用过的一个。尺度ODBC支持多种文件名目,个中包罗由差异公司专用的一些名目,如dBASE。然而,它也包罗了简朴的“逗号脱离ASCII”名目,它险些是每种数据东西都可以或许生成的。就今朝的例子来说,我只选择本身的“people”数据库。这是我多年来一直在维护的一个数据库,中间利用了各类联结打点东西。我把它导出成为一个逗号脱离的ASCII文件(一般有个.csv扩展名,用Outlook Express导出通信簿时亦可选用同样的文件名目)。在“文件DSN”区域,我按下“添加”按钮,选择用于节制逗号脱离ASCII文件的文本驱动措施(Microsoft Text Driver),然后除掉对“利用当前目次”的选择,以便导出数据文件时可以自行指定目次。
各人会留意到在举办这些事情的时候,并没有实际指定一个文件,只是一个目次。那是因为数据库凡是是由某个目次下的一系列文件组成的(尽量也大概回收其他形式)。每个文件一般都包括了单个“数据表”,并且SQL语句可以发生从数据库中多个表摘取出来的功效(这叫作“连系”,可能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代码如下:

 

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

#p#分页标题#e#

若查询较量巨大,手工编码极易堕落。但操作一个查询东西,就可以交互式地测试本身的查询,并自动得到正确的代码。事实上,亲手为这些工作编码是难以让人接管的。

5. 步调5:在本身的查询中修改和粘贴
我们留意到上述代码与措施中利用的代码是有所区此外。那是由于查询东西对所有名字都举办了限定,即便涉及的仅有一个数据表(若真的涉及多个数据表,这种限定可制止来自差异表的同名数据列产生斗嘴)。由于这个查询只需要用到一个数据表,所以可思量从大大都名字中删除“people”限定符,就象下面这样:

 

SELECT FIRST, LAST, EMAIL
FROM people.csv people
WHERE (LAST='Eckel') AND 
(EMAIL Is Not Null)
ORDER BY FIRST

另外,我们不但愿“硬编码”这个措施,从而只能查找一个特定的名字。相反,它应该能查找我们在呼吁动作态提供的一个名字。所以还要举办须要的修改,并将SQL语句转换成一个动态生成的字串。如下所示:

 

"SELECT FIRST, LAST, EMAIL " +
"FROM people.csv people " +
"WHERE " +
"(LAST='" + args[0] + "') " +
" AND (EMAIL Is Not Null) " +
"ORDER BY FIRST");

SQL尚有一种方法可将名字插入一个查询,名为“措施”(Procedures),它的速度很是快。但对付我们的大大都尝试性数据库操纵,以及一些低级应用,用Java构建查询字串已经很不错了。
从这个例子可以看出,操作今朝找获得的东西——出格是查询构建东西——涉及SQL及JDBC的数据库编程长短常简朴和直观的。

 

    关键字:

天才代写-代写联系方式