elasticsearch-engine-demo 是 elasticsearch-engine 项目的测试示例;
包括环境搭建和详细的测试示例
github地址: https://github.com/wanghuan9/elasticsearch-engine-demo
base: base测试模块为注解查询测试示例 具体的一个查询语句测试
proxy: proxy测试模块为注解查询测试示例 包括 复杂参数,简单参数,sql查询
extend: extend测试模块为orm扩展示例 包括 mybatis,jpa,jooq 普通查询,关联查询,回表查询
error: error测试模块常见的异常测试示例 包括接口定义不符合规则,参数异常,sql异常,sql不被支持
doc/mysql_init.sql
doc/elasticsearch.init.txt
com.elasticsearch.engine.demo.InitDataTest#initData
通过看控制台 输出的查询语句判断解析是否正确
当查询结果比较复杂 不是简单的将hits转为json对象时, 可以通过自定义响应对结果进行扩展
查询的PersonEsParamRepository 必须继承 BaseESRepository 否则无法扫描注册
规则:
- 1)查询参数必须为1个, 并且不是基础类型
- 2)响应参数的类型或者泛型 必须为Repository的泛型或者自定义响应的泛型,或者固定结果DefaultResp的子类型
查询的PersonEsParamRepository 必须继承 BaseESRepository 否则无法扫描注册
规则:
- 1)查询参数为1个或多个, 参数类型都是基础类型(额外包括 List,LocalDateTime,LocalDate,BigDecimal)
- 2)响应参数的类型或者泛型 必须为Repository的泛型或者自定义响应的泛型,或者固定结果DefaultResp的子类型
查询的PersonEsParamRepository 必须继承 BaseESRepository 否则无法扫描注册
mybatis查询测试示例
jpa查询测试示例
jooq查询测试示例
注解查询未继承 BaseESRepository
注解查询 入参 出差异常
- 不支持的sql
- sql语法错误
- 参数错误
- Unknown column
elasticsearchsql, elasticsearchjdbc,elasticsearchmybatis,elasticsearchjpa,elasticsearchjooq, elasticsearchquery,elasticsearch查询,elasticsearch查询引擎,elasticsearch查询工具, Elasticsearchapi,Elasticsearchclient,Use SQL to query Elasticsearch,
sql拦截,sql拦截器, jpasql拦截,mybatissql拦截,Mybatis拦截器,jpa拦截器,jooq拦截器, jooqsql拦截,sql拦截参数填充,Interceptor,StatementInspector,DefaultExecuteListener
hibernate 拦截sql ,输出sql语句, 获取sql语句,JPA 打印原生sql,输出真实的sql语句,输出mybatis完整SQL语句,输出jpa完整SQL语句,输出jooq完整SQL语句
jsqlparser,sql解析器,向sql语句中插入where条件,mybatis拦截器,修改sql,JSqlParser,JsqlParser插件用来对于SQL语句进行解析和组装,完整的SQL语句打印,打印完整SQL语句(无问号) ,Hibernate拦截器 ,PlainSelect.setFromItem