关于一些JAVA对数据库 多条件查询

关于一些JAVA对数据库 多条件查询,第1张

可以这样:根据判断传入参数是否为空格或null来判断是否有这个查询条件,来拼凑出不同的sql语句,例如

StringBuffer sb = new StringBuffer()

sb.append("select * from a where 1=1")

if(!"".equals("a") || null != a){

sb.append(" and a = " + a)

}

就像这样来根据不同条件查询

lucene是一个公用的全文索引组件,它的目标是把各种各样格式的数据转化成lucene特有的索引文件格式,这样才能通过lucene的高速检索机制进行全文检索。

你的数据来源可以是关系数据库,可以是word、execl、txt文档,可以是html网页,对于这些数据源,你必须将它们内部的数据读取出来,并封装成lucene的document实例,之后让lucene帮你构建索引。

举个例子:你的有一个用户数据库,里面存储了几十万的用户信息,你现在要对这个数据库进行全文索引,那么你要做的事情是:

1.写一段传统的JDBC程序,讲每条的用户信息从数据库读取出来

2.针对每条用户记录,建立一个lucene document

Document doc = new Document()

并根据你的需要,将用户信息的各个字段对应luncene document中的field 进行添加,如:

doc.add(new Field("NAME","USERNAME", Field.Store.YES,Field.Index.UN_TOKENIZED))

然后将该条doc加入到索引中, 如: luceneWriter.addDocument(doc)

这样就建立了lucene的索引库

3.编写对索引库的搜索程序(看lucene文档),通过对lucene的索引库的查找,你可以快速找到对应记录的ID

4.通过ID到数据库中查找相关记录

上面阐述了lucene的大体用法,不知道是不是说的很清楚。

我这里有个现成的数据库连接类

先配个数据源

import java.sql.*

public class DB{

Connection con

Statement stt

private void begin()

{

if(con!=null||stt!=null)

{

this.closs()

}

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")

con = DriverManager.getConnection("jdbc:odbc:数据源名")

stt = con.createStatement()

}

public Resultset qu(String sql)

{

this.begin()

return stt.executeQuery(sql)

}

public boolean cun(String sql)

{

this.begin()

return stt.execute(sql)

}

public void closs()

{

stt.close()

con.close()

}

}

要用的时候 DB a = new DB()

a.qu("select * from 你的表名 where 你表中书名的那一列的列名 like '%书名%'")

%是通配符 就是说如果书名是"12ab45" 你输入"ab 也能查询到" 如果不需要可以去掉%

a.qu()

返回一个ResultSet

你可以创建一个数组

String[][] b = new String[返回的Result的条数][JTable中需要显示的列数量]

用new JTable(String[][],String[])的方法来构造这个表吧


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9964520.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存