说明

官方提供了完整的Java API和Rest API(文档地址),并提供了TransportClient客户端实现了Java API,Rest API因为使用http协议调用,并没有提供相应的客户端。

在前文 “elasticserch-sql和mybatis整合记录” 实现了elasticsearch-sql和mybatis的整合,但是elasticsearch-sql提供的功能相当有限,仅支持极其简单的查询,不支持增加、删除和修改。Rest API功能强大,在实际应用中可能会因前台参数的不同而组合不同的条件,拼接字符串又太麻烦,如果实现Rest API和mybatis整合,让mybatis强大的动态条件功能组合rest API,会让代码更简单更容易维护。

Rest API客户端使用Jest,具体详情和文档参考GitHub Jest主页。在之前的基础上修改整合。

2017-8-12修改:
重写了该项目,分离了Druid连接池,不再限制使用Druid,添加了Driver,项目已共享至GitHub elasticsearch-jdbc,欢迎fork

阅读全文

说明

elasticearch即es本身没有JDBC驱动,是无法像mybatis管理数据库连接池进行数据库操作的。在GitHub上有个elasticsearch-sql的项目,作为es的插件后能够使用sql对es进行数据检索,项目提供了一个支持JDBC的实验特性,在druid的基础上实现了部分JDBC的功能。GitHub上目前仅给出了一个使用用例

2017-8-12修改:
重写了该项目,分离了Druid连接池,不再限制使用Druid,添加了Driver,项目已共享至GitHub elasticsearch-jdbc,欢迎fork

1
2
3
4
5
6
7
8
9
10
11
12
13
Properties properties = new Properties();
properties.put("url", "jdbc:elasticsearch://192.168.70.128:9300/");
DruidDataSource dds = (DruidDataSource) ElasticSearchDruidDataSourceFactory.createDataSource(properties);
Connection connection = dds.getConnection();
PreparedStatement ps = connection.prepareStatement("SELECT * from radiott");
ResultSet resultSet = ps.executeQuery();
List<String> result = new ArrayList<String>();
while (resultSet.next()) {
System.out.println(resultSet.getString("id") + "," + resultSet.getString("name"));
}
ps.close();
connection.close();
dds.close();
阅读全文
  • 第 1 页 共 1 页

忘语

热爱生活,享受code


一名虔诚的程序猿