java查询oracle数据库_Oracle数据库之java 从Oracle数据库到处数据到Elasticsearch全文检索库进行全文查询...
本文主要向大家介绍了Oracle数据库之java 从Oracle数据库到处数据到Elasticsearch全文检索库进行全文查询,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助。
首先编写代码前,要先把Elasticsearch环境搭建好(这个很简单,网上百度一大堆)。然后将elasticsearch jar包导入工程当中。
之后开始编码工作:
第一步:编写连接本地Elasticsearch环境的代码
public static Client client=null;
public static Client getClient(){
if(client !=null){
return client;
}
Settings settings = Settings.settingsBuilder().put("cluster.name","my-application").build();
try{
client = TransportClient.builder().settings(settings).build()
.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(null),9300));//如果是Null,则默认连接本地Ip
}catch(UnknownHostException e){
e.printStackTrace();
}
return client;
}
第二步,建立索引库和创建索引
public void createIndexResponse(String indexname, String type, Listjsondata){
//创建索引库 需要注意的是.setRefresh(true)这里一定要设置,否则第一次建立索引查找不到数据
IndexRequestBuilder requestBuilder = getClient().prepareIndex(indexname, type).setRefresh(true);
for(int i=0; i
requestBuilder.setSource(jsondata.get(i)).execute().actionGet();
}
}
/**
* 创建索引
* @param client
* @param jsondata
* @return
*/
public IndexResponse createIndexResponse(String indexname, String type,String jsondata){
IndexResponse response = getClient().prepareIndex(indexname, type)
.setSource(jsondata)
.execute()
.actionGet();
return response;
}
/**
* 执行搜索
* @param queryBuilder
* @param indexname
* @param type
* @return
*/
public Listsearcher(QueryBuilder queryBuilder, String indexname, String type){
Listlist = new ArrayList();//EsBean是数据库的字段
SearchResponse searchResponse = getClient().prepareSearch(indexname).setTypes(type)
.setQuery(queryBuilder)
.execute()
.actionGet();
SearchHits hits = searchResponse.getHits();
System.out.println("查询到记录数=" + hits.getTotalHits());
SearchHit[] searchHists = hits.getHits();
if(searchHists.length>0){
for(SearchHit hit:searchHists){
Integer id = (Integer)hit.getSource().get("id");
String name = (String) hit.getSource().get("name");
String function = (String) hit.getSource().get("funciton");
list.add(new EsBean(id, name, function));
}
}
return list;
}
第三步,写入实体类Esbean
public class Esbean{
private String reg_id;
private String organization;
省略setter和getter方法;
public EsBean(String reg_id,String organization){
super();
this.reg_id=reg_id;
this.organization=organization;
}
}
第四步,从oracle数据库中查询出数据导入到Esalticsearch库中
1 public class jdbc{
2 public static jdbc dataFactory = new jdbc();
3 private static Connection conn;
4 static final String username="****";
5 static final String password="*****";
6 static final String url="***********";
7 public static synchronized Connection getInstance(){
8 if(conn=null || conn.isClosed()){
9 class.forName("oracle.jdbc.driver.OracleDriver");
10 conn=DriverManager.getConnection(url,username,password);
11 }
12 return conn;
13 }
14 }
本文由职坐标整理并发布,希望对同学们学习Oracle有所帮助,更多内容请关注职坐标数据库Oracle数据库频道!
java查询oracle数据库_Oracle数据库之java 从Oracle数据库到处数据到Elasticsearch全文检索库进行全文查询...相关推荐
- oracle 一个实例创建多个数据库_oracle 一个实例创建多个数据库
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- 12c创建为容器数据库_oracle 12c创建可插拔数据库(PDB)与用户详解
前言 由于oracle 12c使用了CDB-PDB架构,类似于docker,在container-db内可以加载多个pluggable-db,因此安装后需要额外配置才能使用. 一.修改listener ...
- 查询手机号段对应地区编码_想知道海关统计数据吗?这里有详细的查询教程
海关统计数据在线查询系统优化升级了,系统更好用啦! 打开方式 1.进入海关总署官网www.customs.gov.cn,点击导航栏中的"信息公开". 2.点击左侧导航栏中的&quo ...
- SQL Server数据表中数据的增加(插入)、查询、修改、删除
目录 零.码仙励志 一.数据表中数据的增加(插入) 二.数据表中数据的查询 三.数据表中数据的修改 四.数据表中数据的删除 零.码仙励志 伟人所达到并保持着的高处,并不是一飞就到的,而是他们在同伴们都 ...
- oracle时间类型转化成java对象_Oracle数据库date类型与Java中Date的联系与转化
以下是对Java中的日期对象与Oracle中的日期之间的区别与联系做点说明,以期对大家有所帮助. new Date():分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒),就是系统当 ...
- oracle 调用java 类_oracle数据库PL SQL调用Java类程序代码
作为JAVA程序员,对ORACLE的javasource一直是想找个机会下手的.呵呵!风高月夜,此时正下手之机. Oracle有提供一个叫"外部例程"来实现与其他编程语言的访问.例 ...
- 双表查询java代码_什么是JDBC?Java数据库连接性简介
JDBC(Java数据库连接性)是Java API,用于管理与数据库的连接,发出查询和命令以及处理从数据库获得的结果集.JDBC在1997年作为JDK 1.1的一部分发布,是为Java持久层开发的首批 ...
- jsch连接mysql_求用jsch网络工具包通过ssh连接远程oracle数据库并发送sql操作语句(数据库在unix上)java代码例子...
求用jsch网络工具包通过ssh连接远程oracle数据库(数据库在unix上)java代码例子:为何jsch发送:sqlplususer/pwd@service此命令,却没有结果返回啊.下面是代码: ...
- java 对应sql驱动版本_关于Oracle JDBC驱动版本、JDK版本、数据库版本对应关系(相关的报错:ORA-28040)...
关于Oracle JDBC驱动版本.JDK版本.数据库版本对应关系 说明: 1.Oracle JDBC驱动版本查看方式(Oracle JDBC驱动程序随Oracle数据库服务器一起提供)(用户:Ora ...
最新文章
- 分享9个提高代码运行效率的小技巧
- halcon知识:共生矩阵
- Angularjs 中的 controller
- android 数据库 字节数组,Android上的GreenDAO:字节数组作为主键/构建包含字节数组属性Where子句的查询...
- 终于开源!基于Overlap的激光雷达全局定位算法!
- 从小白到大数据技术专家的学习历程,你准备好了吗
- (229)DPU加速数据处理
- Linux内核深入理解中断和异常(7):中断下半部:Softirq, Tasklets and Workqueues
- iplat-ui源码解读
- 【HDOJ】3459 Rubik 2×2×2
- vs2017+pcl1.8.1配置
- 白话区块链 之3: 区块链技术栈
- 微信指纹锁原理及安全性分析
- java一个字符几个字节_Java 语言中一个字符占几个字节?
- Windows 命令行基础
- SylixOS 技术简介
- CreateJS 学习4 动画、TweenJS
- 奶粉的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- pda通用扫描app_智能仓储盘点——PDA扫码盘点APP真正实现“轻松盘点”!
- 坚持并活下去!cxuan 在 CSDN 的 2020 年终总结。
热门文章
- python unicode编码转换中文_Python入门高级教程--Python 中文编码
- php解决01背包问题,PHP动态规划解决0-1背包问题实例分析_PHP教程
- html简单网页代码 案例_HTML+CSS静态网页练习案例(转动的八卦图)
- AcWing 4. 多重背包问题(多重背包 朴素版)
- linux 安装org2pg_Ora2Pg的安装和使用
- Eviews 9.0新版本新功能——预测(Auto-ARIMA预测、VAR预测)
- linux常用shell命令之文件操作命令
- 更开放的分布式事务 | Fescar 品牌升级,更名为 Seata
- 自动化设计-框架介绍 TestCase
- docker运行storm及wordcount实例