1 Star 1 Fork 7

icewind2021/elasticsearch-jdbc

forked from wsitm/elasticsearch-jdbc 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

介绍

个人实现 elasticsearch的jdbc驱动,略微参考官方 x-pack-sql-jdbc (7.6.2,其他版本未测试),相当于精简官方jdbc,同时又绕过权限问题

源码

https://gitee.com/wsitm/elasticsearch-jdbc.git

引用

自行使用源码打包,或 jar包 取pack目录下我打包好的jar文件。然后放在在spingboot项目下

jar包目录 选中“elasticsearch-jdbc-1.0.0-SNAPSHOT.jar”,右键-> Add as Library。 其实比较建议自己构建一个私有仓库再引用,相对方便。这个是个人兴趣,所有我就不发布到maven仓库了,太麻烦

另外,该工具使用fastjson作核心数据处理,必须在 pom 引用

        <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.78</version>
        </dependency>

配置

  • yml配置文件
spring:
  datasource:
    driver-class-name: stu.elasticsearch.jdbc.EsDriver
    url: jdbc:es://192.168.0.1:9200/
    username: xxx
    password: xxxxxx
    hikari:
      read-only: true #该配置为必须配置
      minimum-idle: 3
      max-lifetime: 1800000
      connection-test-query: select 1
mybatis:
  mapper-locations: classpath*:mapper/*Mapper.xml
  • mapper接口
@Mapper
public interface EsMapper {
    List<Map<String, Object>> selectList();
}
  • mapper 写SQL的xml文件,其中表名必须使用双引号包含
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="pers.xxx.es.mapper.EsMapper">
  <select id="selectList" resultType="java.util.Map">
      SELECT * FROM \"table-*\" LIMIT 10
  </select>
</mapper>

没有任何多余的配置,就和查其他数据库一样

测试

  • 测试代码
@SpringBootTest(classes = EsApplication.class)
class EsApplicationTests {

    @Autowired
    private EsMapper esMapper;

    @Test
    void test() {
        List<Map<String, Object>> list = esMapper.selectList();
        list.forEach(map -> {
            map.forEach((k, v) -> {
                System.out.print(k + ": " + v + ", ");
            });
            System.out.println("\n");
        });
    }
}
  • 测试结果 测试结果

空文件

简介

个人扩展 elasticsearch的jdbc,略微参考 x-pack-sql-jdbc 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/icewind2021/elasticsearch-jdbc.git
git@gitee.com:icewind2021/elasticsearch-jdbc.git
icewind2021
elasticsearch-jdbc
elasticsearch-jdbc
master

搜索帮助