登陆注册
19122000000025

第25章 Oracle的全文搜索(5)

rs=st.executeQuery("select*from myblob where id=1");

if(rs.next())

{

blob=rs.getBlob("fblob");

ImageIcon icon=new ImageIcon(blob.getBytes(1,(int)blob.length()));

JLabel l=new JLabel(icon);

JFrame jf=new JFrame("mywife");

jf.getContentPane().add(l);

jf.pack();

jf.setVisible(true);

}

}

catch(SQLException se)

{

se.printStackTrace();

}

finally

{

//——finally——start

if(rs!=null)

{

try

{

rs.close();

}

catch(SQLException e)

{

e.printStackTrace();

}

}

//////////////////////////////if(st!=null)

{

try

{

st.close();

}

catch(SQLException e)

{

e.printStackTrace();

}

}

/////////////////////////////

if(conn!=null)

{

try

{

conn.close();

}

catch(SQLException e)

{

e.printStackTrace();

}

}

}

}

}

刚才的程序使用了Swing技术。下面再给出一个用JSP实现的例子。

案例名称:图片数据的读取和在网页上显示

程序名称:showimg.jsp

<%@ page contentType="text/html;charset=gbk"%>

<%@ page import="java.sql.*,java.io.*"%>

<%!

Connection conn=null;

Statement stmt=null;

ResultSet rs=null;

%>

<%

//安装驱动程序——

try

{

Class.forName("oracle.jdbc.driver.OracleDriver");

}

catch(ClassNotFoundException ce)

{

out.println(ce.getMessage());

}

//执行——

try

{

//获得Connection对象

String url="jdbc:oracle:thin:@ localhost:1521:yuanyuan";

conn=DriverManager.getConnection(url,"scott","tiger");

stmt=conn.createStatement();

rs=stmt.executeQuery("SELECT*FROM myblob where id=1");

if(rs.next())

{

…Blob blob=rs.getBlob("fblob");

byte[] buf=blob.getBytes(1,(int)blob.length());

response.setContentType("image/jpeg");

//图片的输出流

OutputStream wt=response.getOutputStream();

//将缓冲区的输入输出到页面

wt.write(buf);

//输入完毕,清除缓冲

wt.flush();

wt.close();

}

}

catch(SQLException e)

{

System.out.println(e.getMessage());

}

finally

{

if(rs!=null)

{

…try

{

rs.close();

}

catch(SQLException ee)

{

System.out.println(ee.getMessage());

}

}

if(stmt!=null)

{

…try

{

stmt.close();

}

catch(SQLException ee)

{

System.out.println(ee.getMessage());

}

}

if(conn!=null)

{

…try

{

conn.close();

}

catch(SQLException ee)

{

System.out.println(ee.getMessage());

}

}

}

%>

5.5.2BLOB的搜索

现在,为fblob列创建索引,语句如下:

create index idx myblob on myblob(fblob)indextype is ctxsys.context;

索引建立好之后,就可以执行全文搜索了。执行下面的语句,在fblob列中搜索“大禹”。

select id,fname from myblob where contains(fblob,"大禹")>0;

5.5.3BLOB搜索的应用

现在,有了前面学习的关于Oracle 二进制文档全文搜索的知识,可以做两个简单的应用。

下面这两个例子使用前面建立的myblob数据表,一个是桌面应用,一个是Web应用。使用的技术分别为:Oracle9i+Java Swing,Oracle9i+JSP2.4。

这两个应用允许用户输入关键词,然后单击“搜索”按钮,执行全文搜索,显示搜索结果。

案例名称:Oracle二进制文档全文搜索桌面应用

程序名称:BinSearcher.java

import java.util.*;

import java.io.*;

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import java.sql.*;

public classBinSearcher

{

//搜索关键词

static JTextField jtf=null;

//搜索按钮

static JButton jb=null;

//文本区域

static JTextArea jta;

private static void createAndShowGUI()

{

…JFrame.setDefaultLookAndFeelDecorated(true);

JFrame frame=new JFrame("Binary Searcher!yutianen@163.com");

frame.setDefaultCloseOperation(JFrame.EXIT ONCLOSE);

Container con=frame.getContentPane();

con.setLayout(newBorderLayout());

JPanel jpup=new JPanel();

jpup.setLayout(new GridLayout(1,2));

jtf=new JTextField(30);

jb=new JButton("搜索");

jb.addActionListener

newActionListener()

{

同类推荐
  • 安全教育八年级(上)

    安全教育八年级(上)

    《安全教育》系列编写的是孩子安全教育的图书。本书主要讲述的是自我保护能力是孩子们快乐健康成长的必备能力。只有学会自我保护,远离危险,我们的孩子才能拥有幸福,享受美好的生活。
  • 世界历史经典故事300

    世界历史经典故事300

    它的特点一个是用一连串的故事将世界几千年的历史串在一起,既有细节描写,又有人物刻画,读起来生动有趣;另一个是文笔简洁,用不长的篇幅就囊括了历史上所有的重要事件,让广大中小学生对世界历史有一个基本的把握。很显然,如果想为中小学生挑一本历史读物的话,本书就是首选。
  • 做最有出息的女孩

    做最有出息的女孩

    《做最有出息的女孩》一定会让你欣喜地发现,此书能够帮你找到想要的一切答案。围绕女孩的性别和心理特征,《做最有出息的女孩》深入分析并解答了她们成长过程中颇需关注的问题,涉及女孩性格的塑造、气质的修炼、习惯的培养、知识的储备、交际能力的锻炼以及青春期的教育等,涵盖女孩绚丽多彩生活的方方面面。
  • 你若盛开,清香自来

    你若盛开,清香自来

    本书精选了余显斌的数十篇作品,这些文章情感真挚、语言精美、想象奇特,精彩纷呈。中小学学生阅读这样一本文质俱佳的文学作品,对提升自己的文学素养和写作能力会大有帮助。本书收录的作品,不是名著,但是属于好作品;没写重大题材,但大都真实反映了社会生活的变迁,人们精神面貌的焕然一新;没有高深莫测的技巧,但或平实、或奇巧、或清新可人、或浓郁奔放,更适合青少年读者学习、借鉴。
  • 安全教育四年级(上)

    安全教育四年级(上)

    《安全教育》系列编写的是孩子安全教育的图书。本书主要讲述的是自我保护能力是孩子们快乐健康成长的必备能力。只有学会自我保护,远离危险,我们的孩子才能拥有幸福,享受美好的生活。
热门推荐
  • 校花的贴身伴读

    校花的贴身伴读

    21世纪的z国,门派至高无上。执权的是元素家族,共有五个。整体经济由五大家族掌握,五龙之首是“金”。林天,退役特种兵,因一次执行任务而意外获得一本修真秘籍,从而获得异能,并踏上了一条血雨腥风的不归路。“这次你的任务是保护y公司的大小姐凌雨。”“好”“这是你最后一个任务。”不久,z国闹得腥风血雨。而林天也结识各色英雄好汉,又流连于芬芳花丛。不平凡的人生,从这里开启。
  • 快穿之来啊互相伤害

    快穿之来啊互相伤害

    如果要你猜测一下你怎么死的你的脑洞会呈现怎样的大开趋势?行了行了不用猜了,恭喜你一个平地摔死了!【热烈祝贺】凌小溪:“……”一个大大的微笑脸【好气哦,可是还是要保持微笑。】系统:“谁让你怂。今天就教育教育你谁是亲爹!”【作者学生党,更新慢请见谅哇咔咔】
  • 朝野新谭

    朝野新谭

    本书为公版书,为不受著作权法限制的作家、艺术家及其它人士发布的作品,供广大读者阅读交流。
  • 旗军志

    旗军志

    本书为公版书,为不受著作权法限制的作家、艺术家及其它人士发布的作品,供广大读者阅读交流。
  • 巴黎佐岸下着雨

    巴黎佐岸下着雨

    一位呆萌少女遇上冰山帅哥,原本想'解救‘帅哥,但是想帮却倒忙,但一位一次阴差阳错的转学,让她再次遇见让她一见倾心的男神,便开始了女追男的剧情,之后便一发不可收拾,经过不懈的努力,眼看着计划进行到一半时,凭空出现了一个情敌,还是学校的校花和处处和她做对的‘毒舌’女王她该怎么办..........
  • 都市猩红怪诞

    都市猩红怪诞

    这是一场非日常的、有趣的、残忍的、惊悚的追逐,这是一场各心怀鬼胎的、滑稽的、浩大的、华丽的演出。他们是追逐者,它们是被追逐者。他们都是表演者。请各位坐好,拉开帷幕的时间到了。——今天要呈现的是,都市传说中的众生之相。
  • 名流浙大(百年求是)

    名流浙大(百年求是)

    本书从历史和现实相结合的角度,多层次、多视角地介绍浙江大学的历史、现状、传统、特色及其办校、治学、育人等方面的经验和成就。
  • 医妃独宠

    医妃独宠

    她是吃货,“她”是花痴,虽然爱好仅差一个音,性格却千差万别。她冷血乖戾,是毒医传人;“她”自卑懦弱,却是武学奇才。因为懦弱“她”面对所爱之人不敢言语,因为自卑“她”被人欺凌不敢寻求帮助,一朝横死,懦弱少女再睁眼眸,自卑褪去,嘴角扬起嗜血的弧度,她乖戾,她冷血,她要护的人,谁伤谁亡!他是灵越大陆唯一一位封王的强者,没有人知道他的来历,也没有人能入他的眼,在他看来,女人只是累赘,身体柔弱不说,还格外善变。那一日,他立在森林外看见正在训练的她后,彻底不淡定了,这么彪悍的人型生物,真的是女人吗?
  • 移动互联网时代

    移动互联网时代

    全书讲述了移动互联网产生原因、背景与现状,并对未来的趋势做出了精准的预测。移动互联网如潮水一般席卷着世界,无论是个人还是企业,无论是我们的工作还是生活,都受其极大的影响。移动互联网已经成为全世界商业和科技创新的源泉,发展的加速器。其滂沱气势正革新着旧有的世界与秩序,成为当下时代最大的机遇与挑战。如何在移动互联网上销售自己的产品?如何在通过移动互联网为更多的消费者服务?如何通过移动互联网建立自己的品牌、深化自己的影响?如何依靠移动互联网更好地为企业和个人服务,为生活和工作添加动力?……
  • 梦回唐朝记

    梦回唐朝记

    今天的风,吹不散远古的长恨娇艳的花,染不透勇士的乡愁沙场的血,映不出盛世的山河梦中的月,却已圆了回到唐朝的梦!______________________________________梦回唐朝记QQ群号:20707336