From 4fc8ae63cb4ea3b1c80fc9d5becaf02663dbdeb5 Mon Sep 17 00:00:00 2001 From: cloudAndMonkey Date: Tue, 13 Dec 2022 14:31:51 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=94=AF=E6=8C=81=E5=A4=9A=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=BA=90=E3=80=81elasticsearch-sql=E3=80=81elasticsea?= =?UTF-8?q?rch=E5=A2=9E=E5=88=A0=E6=94=B9=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 具体使用请参见README.md --- .../README.md | 397 ++++++++++++++++++ .../libs/elasticsearch-sql-7.17.5.0.jar | Bin 0 -> 367395 bytes .../pom.xml | 229 ++++++++++ .../java/apijson/demo/DataBaseConfig.java | 22 + .../main/java/apijson/demo/DataBaseUtil.java | 54 +++ .../java/apijson/demo/DemoApplication.java | 106 +++++ .../java/apijson/demo/DemoController.java | 99 +++++ .../java/apijson/demo/DemoFunctionParser.java | 125 ++++++ .../java/apijson/demo/DemoObjectParser.java | 26 ++ .../main/java/apijson/demo/DemoParser.java | 35 ++ .../main/java/apijson/demo/DemoSQLConfig.java | 135 ++++++ .../java/apijson/demo/DemoSQLExecutor.java | 118 ++++++ .../apijson/demo/DynamicJdbcDataSource.java | 209 +++++++++ .../src/main/java/apijson/demo/ESOptions.java | 274 ++++++++++++ .../apijson/demo/ElasticSearchSqlTest.java | 233 ++++++++++ .../java/apijson/demo/SpringContextUtils.java | 60 +++ .../src/main/resources/application.yml | 55 +++ 17 files changed, 2177 insertions(+) create mode 100644 APIJSONDemo-MultiDataSource-Elasticsearch/README.md create mode 100644 APIJSONDemo-MultiDataSource-Elasticsearch/libs/elasticsearch-sql-7.17.5.0.jar create mode 100644 APIJSONDemo-MultiDataSource-Elasticsearch/pom.xml create mode 100644 APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/DataBaseConfig.java create mode 100644 APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/DataBaseUtil.java create mode 100644 APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/DemoApplication.java create mode 100644 APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/DemoController.java create mode 100644 APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/DemoFunctionParser.java create mode 100644 APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/DemoObjectParser.java create mode 100644 APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/DemoParser.java create mode 100644 APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/DemoSQLConfig.java create mode 100644 APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/DemoSQLExecutor.java create mode 100644 APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/DynamicJdbcDataSource.java create mode 100644 APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/ESOptions.java create mode 100644 APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/ElasticSearchSqlTest.java create mode 100644 APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/SpringContextUtils.java create mode 100644 APIJSONDemo-MultiDataSource-Elasticsearch/src/main/resources/application.yml diff --git a/APIJSONDemo-MultiDataSource-Elasticsearch/README.md b/APIJSONDemo-MultiDataSource-Elasticsearch/README.md new file mode 100644 index 00000000..ee3f1545 --- /dev/null +++ b/APIJSONDemo-MultiDataSource-Elasticsearch/README.md @@ -0,0 +1,397 @@ +# APIJSONDemo + +## 1、支持多数据源 + +数据源解析顺序: + +- [ ] 对象@datasource + +- [ ] 全局 @datasource + +- [ ] 应用默认 @datasource + + ```json + { + // "@datasource": "db2" 全局 + "@post": { + "User:aa": { + "@datasource": "db2" // 对象 + }, + "User_address[]": { + "@datasource": "db2" + } + }, + "User:aa":{ + "username":"test-3", + "password": "233223", + "state": 1 + }, + "ES_blog:a": { + "@datasource": "elasticSearch", + "title.keyword": "test-2" + }, + "User_address[]": [ + { + "user_id@": "User:aa/id", + "addr": "ddd", + "count@": "ES_blog:a/count" + }, + { + "user_id@": "User:aa/id", + "addr": "ddd1", + "count@": "ES_blog:a/count" + } + ], + "@explain": true + } + ``` + + ![image-20221213105328227](/Users/xy/Library/Application Support/typora-user-images/image-20221213105328227.png) + +## 2、集成elasticsearch-sql + +换成xpack, 也一样 + +应用导入: elasticsearch-sql-7.17.5.0.jar + +## 3、apijson支持elasticsearch功能点 + +新增、修改、删除、查询 + +## 4、elasticsearch-sql不支持RLIKE + +![image-20221213141141037](/Users/xy/Library/Application Support/typora-user-images/image-20221213141141037.png) + +## 5、apijson支持字段 .keyword + +``` +{ + "@datasource": "elasticSearch", + "ES_blog:aa":{ + "title.keyword$": "%test-2", + "content": "u-c-2", + "url": "u-u-2", + "postdate": "2008-12-11", + "count": 1 + }, + "tag": "ES_blog", + "@explain": true +} +``` + + + +## 4、示例 + +### 单条插入 + +``` +http://localhost:8080/post + +{ + "@datasource": "elasticSearch", + "ES_blog:aa":{ + "title":"test-1", + "author": "a-1", + "content": "c-1", + "url": "u-1", + "postdate": "2018-12-11", + "count": 1 + }, + "tag": "ES_blog", + "@explain": true +} + +``` + +![image-20221213105649445](/Users/xy/Library/Application Support/typora-user-images/image-20221213105649445.png) + + + +elasticsearch查询插入的数据: + +GET /es_blog/_doc/5b77b103-0231-42c3-a6cf-a0cb933d3dda + +![image-20221213105850231](/Users/xy/Library/Application Support/typora-user-images/image-20221213105850231.png) + +### 批量插入 + +```json +http://localhost:8080/post + +{ + "@datasource": "elasticSearch", + "ES_blog:aa[]": [ + { + "title":"test-1", + "author": "a-1", + "content": "c-1", + "url": "u-1", + "postdate": "2018-12-11", + "count": 1 + }, + { + "title":"test-2", + "author": "a-2", + "content": "c-2", + "url": "u-2", + "postdate": "2018-12-11", + "count": 2 + }, + { + "title":"test-3", + "author": "a-3", + "content": "c-3", + "url": "u-3", + "postdate": "2018-12-11", + "count": 3 + } + ], + "tag": "ES_blog[]", + "@explain": true +} + +``` + +![image-20221213104938108](/Users/xy/Library/Application Support/typora-user-images/image-20221213104938108.png) + +elasticsearch查询插入的数据: + +GET /es_blog/_search + +![image-20221213105443909](/Users/xy/Library/Application Support/typora-user-images/image-20221213105443909.png) + +### id修改 + +```json +http://localhost:8080/put + +{ + "@datasource": "elasticSearch", + "ES_blog:aa":{ + "id": "5b77b103-0231-42c3-a6cf-a0cb933d3dda", + "title":"u-test-1", + "author": "u-a-1", + "content": "u-c-1", + "url": "u-u-1", + "postdate": "2018-12-10", + "count": 9 + }, + "tag": "ES_blog", + "@explain": true +} +``` + +![image-20221213110113376](/Users/xy/Library/Application Support/typora-user-images/image-20221213110113376.png) + + + +![image-20221213110132755](/Users/xy/Library/Application Support/typora-user-images/image-20221213110132755.png) + +### 非id修改 + +``` +http://localhost:8080/put +{ + "@datasource": "elasticSearch", + "ES_blog:aa":{ + "title~":"u-test-1", + "author": "u1-a-2", + "content": "u1-c-2", + "url": "u1-u-2", + "postdate": "2028-12-11", + "count": 1 + }, + "tag": "ES_blog", + "@explain": true +} + + +{ + "@datasource": "elasticSearch", + "ES_blog:aa":{ + "title~":"test-3", + "author~": "u3-a-2", + "content": "u1-c-2", + "url": "u1-u-2", + "postdate": "2028-12-11", + "count": 1, + "@combine":"title~ | author~" + }, + "tag": "ES_blog", + "@explain": true +} + +{ + "@datasource": "elasticSearch", + "ES_blog:aa":{ + "count{}":[1,4], + "content": "u-c-2", + "url": "u-u-2", + "postdate": "2008-12-11", + "count": 1 + }, + "tag": "ES_blog", + "@explain": true +} + +{ + "@datasource": "elasticSearch", + "ES_blog:aa":{ + "title$": "%test", + "content": "u-c-2", + "url": "u-u-2", + "postdate": "2008-12-11", + "count": 1 + }, + "tag": "ES_blog", + "@explain": true +} + + +{ + "@datasource": "elasticSearch", + "ES_blog:aa":{ + "postdate%":"2007-10-01,2018-10-01", + "content": "u-c-2", + "url": "u-u-2", + "postdate": "2008-12-11", + "count": 1 + }, + "tag": "ES_blog", + "@explain": true +} +``` + +![image-20221213120359815](/Users/xy/Library/Application Support/typora-user-images/image-20221213120359815.png) + +### 批量修改 + +``` +http://localhost:8080/put +{ + "@datasource": "elasticSearch", + "ES_blog:aa[]": [ + { + "title~":"test-1", + "author": "u3-a-2", + "content": "u3-c-2", + "url": "u3-u-2", + "postdate": "2038-12-11", + "count": 1 + }, + { + "title~":"test-2", + "author": "u-a-3", + "content": "u-c-3", + "url": "u-u-3", + "postdate": "2008-12-11", + "count": 4 + } + ], + "tag": "ES_blog[]", + "explain": true +} +``` + +### id删除 + +``` +{ + "@datasource": "elasticSearch", + "ES_blog:del": { + "id": "043a7511-296b-43b5-9f12-966dd86299d1" + }, + "tag": "ES_blog", + "explain": true +} +``` + + + +### 非id条件删除 + +``` +http://localhost:8080/delete + +{ + "@datasource": "elasticSearch", + "ES_blog:del": { + "title": "test-2" + }, + "tag": "ES_blog", + "explain": true +} + +{ + "@datasource": "elasticSearch", + "ES_blog:del": { + "count{}":[2,4] + }, + "tag": "ES_blog", + "explain": true +} +``` + +![image-20221213115535006](/Users/xy/Library/Application Support/typora-user-images/image-20221213115535006.png) + +### 批量删除 + +``` +{ + "@datasource": "elasticSearch", + "ES_blog:del": { + "id{}": ["f41e3010-c410-45a0-b41a-33afbc1e4ef8","d765de31-2fc8-40e5-9430-277bf7e5f91b"] + }, + "tag": "ES_blog", + "explain": true +} +``` + +### 查询单条记录 + +``` +{ + "ES_blog:a": { + "@datasource": "elasticSearch", + "id": "4862927d-9a38-47c9-9cfc-5b3e9db38d30" + }, + "@explain": true +} +``` + +### 分页查询 + +``` +{ + "[]": { + "ES_blog": { + "@datasource": "elasticSearch" + }, + "page": 0, + "count": 2, + "query": 2 + }, + "total@": "/[]/total" +} + +``` + +![image-20221213140810462](/Users/xy/Library/Application Support/typora-user-images/image-20221213140810462.png) + +### 分组查询 + +``` +{ + "@datasource": "elasticSearch", + "[]": { + "count": 5, + "ES_blog":{ + "@column":"count;sum(count):sum", + "@group":"count" + } + } +} +``` + +![image-20221213140933538](/Users/xy/Library/Application Support/typora-user-images/image-20221213140933538.png) diff --git a/APIJSONDemo-MultiDataSource-Elasticsearch/libs/elasticsearch-sql-7.17.5.0.jar b/APIJSONDemo-MultiDataSource-Elasticsearch/libs/elasticsearch-sql-7.17.5.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..e09ac639439255d742ba0915e244b8a5b0dea4ea GIT binary patch literal 367395 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%0DH^!4M@0Kz8@;xgX0 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

s@SgujHx4tA*+vdph1%WyiR3_Hg^U;L;8%irjus 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 literal 0 HcmV?d00001 diff --git a/APIJSONDemo-MultiDataSource-Elasticsearch/pom.xml b/APIJSONDemo-MultiDataSource-Elasticsearch/pom.xml new file mode 100644 index 00000000..8c12edd1 --- /dev/null +++ b/APIJSONDemo-MultiDataSource-Elasticsearch/pom.xml @@ -0,0 +1,229 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 2.5.13 + + + apijson.demo + apijsondemo-multidatasource-elasticsearch + 5.5.0 + + apijsondemo-multidatasource-elasticsearch + Demo project for testing APIJSON server based on SpringBoot + + + UTF-8 + UTF-8 + 7.17.5 + 3.12.0 + 1.1.16 + 3.5.1 + 2.3.3 + 4.4 + 1.10 + 30.1.1-jre + 1.2.72 + 4.1.1 + 1.18.4 + 3.12.0 + 2.5 + 1.10 + 4.4 + 1.10 + 1.8 + + + + + + javax.activation + activation + 1.1.1 + + + + + com.github.Tencent + APIJSON + 5.5.0 + + + com.github.APIJSON + apijson-framework + 5.5.0 + + + + + + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework + spring-context-support + 5.3.18 + + + org.springframework.boot + spring-boot-configuration-processor + 2.6.6 + true + + + com.alibaba + druid-spring-boot-starter + ${druid.version} + + + com.baomidou + dynamic-datasource-spring-boot-starter + 3.5.2 + + + com.baomidou + mybatis-plus-boot-starter + ${mybatisplus.version} + + + com.baomidou + mybatis-plus-generator + + + + + com.baomidou + mybatis-plus-support + ${mybatis-plus-support.version} + + + org.apache.commons + commons-collections4 + ${commons-collections4.version} + + + mysql + mysql-connector-java + 8.0.31 + + + org.elasticsearch.client + elasticsearch-rest-high-level-client + ${elasticsearch.version} + + + org.elasticsearch + elasticsearch + ${elasticsearch.version} + + + + org.elasticsearch.client + x-pack-transport + ${elasticsearch.version} + + + com.google.guava + guava + ${guava.version} + + + org.elasticsearch.plugin + reindex-client + 7.17.5 + + + org.elasticsearch.plugin + parent-join-client + 7.17.5 + + + com.alibaba + fastjson + ${fastjson.version} + + + cn.hutool + hutool-all + ${hutool.version} + + + org.projectlombok + lombok + ${lombok.version} + + + commons-io + commons-io + ${commons.io.version} + + + commons-codec + commons-codec + ${commons.codec.version} + + + commons-configuration + commons-configuration + ${commons.configuration.version} + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + true + apijson.demo.DemoApplication + + + + + repackage + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + 1.8 + 1.8 + + + + + + + + + jitpack.io + https://jitpack.io + + true + + + + + spring-snapshots + https://repo.spring.io/snapshot + + true + + + + spring-milestones + https://repo.spring.io/milestone + + + + \ No newline at end of file diff --git a/APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/DataBaseConfig.java b/APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/DataBaseConfig.java new file mode 100644 index 00000000..6e261537 --- /dev/null +++ b/APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/DataBaseConfig.java @@ -0,0 +1,22 @@ +package apijson.demo; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class DataBaseConfig { + private String primary; + + @Value("${spring.datasource.dynamic.primary}") + public void setPrimary(String primary) { + this.primary = primary; + } + + public String getPrimary() { + return primary; + } + + public static DataBaseConfig getInstence() { + return SpringContextUtils.getBean(DataBaseConfig.class); + } +} diff --git a/APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/DataBaseUtil.java b/APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/DataBaseUtil.java new file mode 100644 index 00000000..fc736df8 --- /dev/null +++ b/APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/DataBaseUtil.java @@ -0,0 +1,54 @@ +package apijson.demo; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import lombok.extern.log4j.Log4j2; + +@Log4j2 +public class DataBaseUtil { + + /** + * 根据url获取库名 + * @param url + * @return + */ + public static String getLibname(String url) { + Pattern p = Pattern.compile("jdbc:(?\\w+):.*((//)|@)(?.+):(?\\d+)(/|(;DatabaseName=)|:)(?\\w+)\\??.*"); + Matcher m = p.matcher(url); + if(m.find()) { + return m.group("dbName"); + } + return null; + } + + /*** + * primary: master + * strict: false + * @param datasource: 匹配不成功, 自动匹配默认数据库 + * @return + */ + public static javax.sql.DataSource getDataSource(String datasource) { + try { + return DynamicJdbcDataSource.getDetail(datasource).getDataSource(); // 数据源 + } catch (Exception e) { + throw new IllegalArgumentException("动态数据源配置错误 " + datasource); + } + } + + public static String getDruidUrl(String datasource) { + return DynamicJdbcDataSource.getDetail(datasource).getUrl(); // 数据库连接url + } + + public static String getDruidSchema(String datasource) { + return getLibname(DynamicJdbcDataSource.getDetail(datasource).getUrl()); // 数据库名; + } + + public static String getDruidDBAccount(String datasource) { + return DynamicJdbcDataSource.getDetail(datasource).getDbAccount(); // 数据库用户名 + } + + public static String getDruidDBPassword(String datasource) { + return DynamicJdbcDataSource.getDetail(datasource).getDbPassword(); // 数据库密码 + } +} diff --git a/APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/DemoApplication.java b/APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/DemoApplication.java new file mode 100644 index 00000000..8e125b8e --- /dev/null +++ b/APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/DemoApplication.java @@ -0,0 +1,106 @@ +/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON) + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License.*/ + +package apijson.demo; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.boot.web.server.WebServerFactoryCustomizer; +import org.springframework.boot.web.servlet.server.ConfigurableServletWebServerFactory; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.CorsRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +import apijson.Log; +import apijson.framework.APIJSONApplication; +import apijson.framework.APIJSONCreator; +import apijson.framework.APIJSONSQLConfig; +import apijson.orm.AbstractFunctionParser; +import apijson.orm.AbstractVerifier; +import apijson.orm.FunctionParser; +import apijson.orm.Parser; +import apijson.orm.SQLConfig; +import apijson.orm.SQLExecutor; + +/** + * Demo SpringBoot Application 主应用程序启动类 右键这个类 > Run As > Java Application 具体见 + * SpringBoot 文档 + * https://www.springcloud.cc/spring-boot.html#using-boot-locating-the-main-class + * + * @author Lemon + */ +@Configuration +@SpringBootApplication +@EnableAutoConfiguration +@EnableConfigurationProperties +public class DemoApplication implements WebServerFactoryCustomizer { + public static final String TAG = "DemoApplication"; + + public static void main(String[] args) throws Exception { + SpringApplication.run(DemoApplication.class, args); + Log.DEBUG = true; + AbstractFunctionParser.ENABLE_SCRIPT_FUNCTION = false; + AbstractVerifier.IS_UPDATE_MUST_HAVE_ID_CONDITION = false; + APIJSONApplication.init(false); // 4.4.0 以上需要这句来保证以上 static 代码块中给 DEFAULT_APIJSON_CREATOR 赋值会生效 + // 表名映射,隐藏真实表名,对安全要求很高的表可以这么做 + APIJSONSQLConfig.TABLE_KEY_MAP.put("ES_blog", "es_blog"); + } + + // SpringBoot 2.x 自定义端口方式 + @Override + public void customize(ConfigurableServletWebServerFactory server) { + server.setPort(8080); + } + + // 支持 APIAuto 中 JavaScript 代码跨域请求 + @Bean + public WebMvcConfigurer corsConfigurer() { + return new WebMvcConfigurer() { + @Override + public void addCorsMappings(CorsRegistry registry) { + registry.addMapping("/**").allowedOriginPatterns("*").allowedMethods("*").allowCredentials(true) + .maxAge(3600); + } + }; + } + + static { + // 使用本项目的自定义处理类 + APIJSONApplication.DEFAULT_APIJSON_CREATOR = new APIJSONCreator() { + @Override + public Parser createParser() { + return new DemoParser(); + } + + @Override + public SQLConfig createSQLConfig() { + return new DemoSQLConfig(); + } + + @Override + public FunctionParser createFunctionParser() { + return new DemoFunctionParser(); + } + + @Override + public SQLExecutor createSQLExecutor() { + return new DemoSQLExecutor(); + } + }; + } + +} diff --git a/APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/DemoController.java b/APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/DemoController.java new file mode 100644 index 00000000..c91c58f3 --- /dev/null +++ b/APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/DemoController.java @@ -0,0 +1,99 @@ +/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON) + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License.*/ + +package apijson.demo; + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.net.URLDecoder; +import java.util.Map; + +import javax.servlet.http.HttpSession; + +import apijson.RequestMethod; +import apijson.StringUtil; +import apijson.framework.APIJSONController; +import apijson.orm.Parser; + + +/**请求路由入口控制器,包括通用增删改查接口等,转交给 APIJSON 的 Parser 来处理 + * 具体见 SpringBoot 文档 + * https://www.springcloud.cc/spring-boot.html#boot-features-spring-mvc + * 以及 APIJSON 通用文档 3.设计规范 3.1 操作方法 + * https://github.com/Tencent/APIJSON/blob/master/Document.md#3.1 + *
建议全通过HTTP POST来请求: + *
1.减少代码 - 客户端无需写HTTP GET,PUT等各种方式的请求代码 + *
2.提高性能 - 无需URL encode和decode + *
3.调试方便 - 建议使用 APIAuto(http://apijson.cn/api) 或 Postman + * @author Lemon + */ +@RestController +@RequestMapping("") +public class DemoController extends APIJSONController { + + @Override + public Parser newParser(HttpSession session, RequestMethod method) { + return super.newParser(session, method).setNeedVerify(false); // TODO 这里关闭校验,方便新手快速测试,实际线上项目建议开启 + } + + /**增删改查统一接口,这个一个接口可替代 7 个万能通用接口,牺牲一些路由解析性能来提升一点开发效率 + * @param method + * @param request + * @param session + * @return + */ + @PostMapping(value = "{method}") // 如果和其它的接口 URL 冲突,可以加前缀,例如改为 crud/{method} 或 Controller 注解 @RequestMapping("crud") + @Override + public String crud(@PathVariable String method, @RequestBody String request, HttpSession session) { + return super.crud(method, request, session); + } + + /**增删改查统一接口,这个一个接口可替代 7 个万能通用接口,牺牲一些路由解析性能来提升一点开发效率 + * @param method + * @param tag + * @param params + * @param request + * @param session + * @return + */ + @PostMapping("{method}/{tag}") // 如果和其它的接口 URL 冲突,可以加前缀,例如改为 crud/{method}/{tag} 或 Controller 注解 @RequestMapping("crud") + @Override + public String crudByTag(@PathVariable String method, @PathVariable String tag, @RequestParam Map params, @RequestBody String request, HttpSession session) { + return super.crudByTag(method, tag, params, request, session); + } + + /**获取 + * 只为兼容HTTP GET请求,推荐用HTTP POST,可删除 + * @param request 只用String,避免encode后未decode + * @param session + * @return + * @see {@link RequestMethod#GET} + */ + @GetMapping("get/{request}") + public String openGet(@PathVariable String request, HttpSession session) { + try { + request = URLDecoder.decode(request, StringUtil.UTF_8); + } catch (Exception e) { + // Parser 会报错 + } + return get(request, session); + } + +} \ No newline at end of file diff --git a/APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/DemoFunctionParser.java b/APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/DemoFunctionParser.java new file mode 100644 index 00000000..ba5d230b --- /dev/null +++ b/APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/DemoFunctionParser.java @@ -0,0 +1,125 @@ +package apijson.demo; + +import javax.servlet.http.HttpSession; + +import com.alibaba.fastjson.JSONObject; + +import apijson.NotNull; +import apijson.RequestMethod; +import apijson.StringUtil; +import apijson.framework.APIJSONFunctionParser; +import apijson.framework.APIJSONVerifier; +import lombok.extern.slf4j.Slf4j; + +@Slf4j +public class DemoFunctionParser extends APIJSONFunctionParser { + public DemoFunctionParser() { + this(null, null, 0, null, null); + } + + // 展示在远程函数内部可以用 this 拿到的东西 + public DemoFunctionParser(RequestMethod method, String tag, int version, JSONObject request, HttpSession session) { + super(method, tag, version, request, session); + } + + /*** + * 获取当前用户id + * + * @param current + * @return + */ + public String getCurrentUserId(@NotNull JSONObject current) { + if (this.getSession() == null) { + return "test"; // 启动时的自动测试 + } + return APIJSONVerifier.getVisitorId(getSession()); + } + + /** + * 一个最简单的远程函数示例,返回一个前面拼接了 Hello 的字符串 + * + * @param current + * @param name + * @return + * @throws Exception + */ + public String sayHello(@NotNull JSONObject current, @NotNull String name) throws Exception { + // 注意这里参数 name 是 key,不是 value + Object obj = current.get(name); + + if (this.getSession() == null) { + return "test"; // 启动时的自动测试 + } + + if (obj == null) { + throw new IllegalArgumentException(); + } + if (!(obj instanceof String)) { + throw new IllegalArgumentException(); + } + + // 之后可以用 this.getSession 拿到当前的 HttpSession + return "Hello, " + obj.toString(); + } + + /*** + * 密码加密 + * + * @param current + * @param id 添加id生成 + * @param password 密码字段名 + * @return + * @throws Exception + */ + public void pwdEncrypt(@NotNull JSONObject current, @NotNull String id, @NotNull String password) + throws Exception { + String c_password = current.getString(password); + current.put(password, c_password + "_" + System.currentTimeMillis()); + } + + /*** + * 业务表-插入不同表1:n
+ * 业务表-批量修改不同表1:n
+ * 测试 子表 前置函数调用,修改值是否成果
+ * user_address 表 addr字段 + * + * @param current + * @param password + * @return + * @throws Exception + */ + public void childFunTest(@NotNull JSONObject current, @NotNull String addr) throws Exception { + String c_addr = current.getString(addr); + current.put(addr, c_addr + "_" + System.currentTimeMillis()); + } + + /*** + * 没有在外层事物里面 + * + * @throws Exception + */ +// private void insertTest() throws Exception { +// String json = "{\n" + " \"User\":{\n" + " \"username\":\"test\",\n" +// + " \"password\": \"233223\",\n" + " \"state\": 1\n" + " },\n" + " \"tag\": \"User\"\n" +// + "}"; +// com.alibaba.fastjson.JSONObject requestObject = AbstractParser.parseRequest(json); +// JSONResponse response = new JSONResponse(new FormParser(POST, false).parseResponse(requestObject)); +// log.info(response.toJSONString()); +// } +// +// private void selectTest() throws Exception { +// String json = "{\n" + " \"User\": {\n" + " \"id\": \"4732209c-5785-4827-b532-5092f154fd94\"\n" +// + " },\n" + " \"tag\": \"User\"\n" + "}"; +// com.alibaba.fastjson.JSONObject requestObject = AbstractParser.parseRequest(json); +// JSONResponse response = new JSONResponse(new FormParser(GET, false).parseResponse(requestObject)); +// log.info(response.toJSONString()); +// } + + public void removeKeys(@NotNull JSONObject current, String keys) { + String[] ks = StringUtil.split(keys, ";"); // 用分号 ; 分割 + // 根据 ks remove 掉 current 里的字段 + for (int i = 0; i < ks.length; i++) { + current.remove(ks[i]); + } + } +} diff --git a/APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/DemoObjectParser.java b/APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/DemoObjectParser.java new file mode 100644 index 00000000..627de64c --- /dev/null +++ b/APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/DemoObjectParser.java @@ -0,0 +1,26 @@ +package apijson.demo; + +import java.util.List; + +import javax.servlet.http.HttpSession; + +import com.alibaba.fastjson.JSONObject; + +import apijson.NotNull; +import apijson.RequestMethod; +import apijson.framework.APIJSONObjectParser; +import apijson.orm.Join; +import apijson.orm.SQLConfig; + +public class DemoObjectParser extends APIJSONObjectParser { + + public DemoObjectParser(HttpSession session, @NotNull JSONObject request, String parentPath, SQLConfig arrayConfig + , boolean isSubquery, boolean isTable, boolean isArrayMainTable) throws Exception { + super(session, request, parentPath, arrayConfig, isSubquery, isTable, isArrayMainTable); + } + + @Override + public SQLConfig newSQLConfig(RequestMethod method, String table, String alias, JSONObject request, List joinList, boolean isProcedure) throws Exception { + return DemoSQLConfig.newSQLConfig(method, table, alias, request, joinList, isProcedure); + } +} diff --git a/APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/DemoParser.java b/APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/DemoParser.java new file mode 100644 index 00000000..e12333e6 --- /dev/null +++ b/APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/DemoParser.java @@ -0,0 +1,35 @@ +package apijson.demo; + +import com.alibaba.fastjson.JSONObject; + +import apijson.RequestMethod; +import apijson.framework.APIJSONObjectParser; +import apijson.framework.APIJSONParser; +import apijson.orm.SQLConfig; + +public class DemoParser extends APIJSONParser { + public DemoParser() { + super(); + } + + public DemoParser(RequestMethod method) { + super(method); + } + + public DemoParser(RequestMethod method, boolean needVerify) { + super(method, needVerify); + } + + // 可重写来设置最大查询数量 + // @Override + // public int getMaxQueryCount() { + // return 50; + // } + + @Override + public APIJSONObjectParser createObjectParser(JSONObject request, String parentPath, SQLConfig arrayConfig, boolean isSubquery, boolean isTable, boolean isArrayMainTable) throws Exception { + return new DemoObjectParser(getSession(), request, parentPath, arrayConfig, isSubquery, isTable, isArrayMainTable).setMethod(getMethod()).setParser(this); + } + + +} \ No newline at end of file diff --git a/APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/DemoSQLConfig.java b/APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/DemoSQLConfig.java new file mode 100644 index 00000000..f094883b --- /dev/null +++ b/APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/DemoSQLConfig.java @@ -0,0 +1,135 @@ +/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON) + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License.*/ + +package apijson.demo; + +import java.util.UUID; + +import com.alibaba.fastjson.annotation.JSONField; + +import apijson.RequestMethod; +import apijson.framework.APIJSONSQLConfig; +import apijson.orm.AbstractSQLConfig; + + +/**SQL 配置 + * TiDB 用法和 MySQL 一致 + * 具体见详细的说明文档 C.开发说明 C-1-1.修改数据库链接 + * https://github.com/Tencent/APIJSON/blob/master/%E8%AF%A6%E7%BB%86%E7%9A%84%E8%AF%B4%E6%98%8E%E6%96%87%E6%A1%A3.md#c-1-1%E4%BF%AE%E6%94%B9%E6%95%B0%E6%8D%AE%E5%BA%93%E9%93%BE%E6%8E%A5 + * @author Lemon + */ +public class DemoSQLConfig extends APIJSONSQLConfig { + + public DemoSQLConfig() { + super(); + } + + public DemoSQLConfig(RequestMethod method, String table) { + super(method, table); + } + + static { +// DEFAULT_DATABASE = DATABASE_ELASTICSEARCH; // TODO 默认数据库类型,改成你自己的 +// DEFAULT_SCHEMA = "sys"; // TODO 默认数据库名/模式,改成你自己的,默认情况是 MySQL: sys, PostgreSQL: public, SQL Server: dbo, Oracle: + + // 表名和数据库不一致的,需要配置映射关系。只使用 APIJSONORM 时才需要; + // 如果用了 apijson-framework 且调用了 APIJSONApplication.init 则不需要 + // (间接调用 DemoVerifier.init 方法读取数据库 Access 表来替代手动输入配置)。 + // 但如果 Access 这张表的对外表名与数据库实际表名不一致,仍然需要这里注册。例如 + // TABLE_KEY_MAP.put(Access.class.getSimpleName(), "access"); + + //表名映射,隐藏真实表名,对安全要求很高的表可以这么做 + TABLE_KEY_MAP.put("ES_blog", "es_blog"); + SIMPLE_CALLBACK = new SimpleCallback() { + + @Override + public AbstractSQLConfig getSQLConfig(RequestMethod method, String database, String schema, + String datasource, String table) { + return new DemoSQLConfig(method, table); + } + + // 取消注释来实现数据库自增 id + @Override + public String newId(RequestMethod method, String database, String schema, String datasource, String table) { + if(table.equals("Access") || table.equals("Request") || table.equals("Function")){ + return null; + } + return UUID.randomUUID().toString(); // return null 则不生成 id,一般用于数据库自增 id + } + }; + } + + @JSONField(serialize = false) // 不在日志打印 账号/密码 等敏感信息,用了 UnitAuto 则一定要加 + @Override + public String getDBVersion() { + return DynamicJdbcDataSource.getDetail(this.getDatasource()).getDbVersion(); + } + + @JSONField(serialize = false) // 不在日志打印 账号/密码 等敏感信息,用了 UnitAuto 则一定要加 + @Override + public String getDatabase() { + if (super.getDatabase() != null) { + return super.getDatabase(); + } + try { + return DynamicJdbcDataSource.getDetail(this.getDatasource()).getDatabase(); + } catch (Exception e) { + throw new IllegalArgumentException("动态数据源配置错误 " + this.getDatasource()); + } + } + + @JSONField(serialize = false) // 不在日志打印 账号/密码 等敏感信息,用了 UnitAuto 则一定要加 + @Override + public String getSchema() { + if (super.getSchema() != null) { + return super.getSchema(); + } + try { + return DynamicJdbcDataSource.getDetail(this.getDatasource()).getSchema(); + } catch (Exception e) { + throw new IllegalArgumentException("动态数据源配置错误 " + this.getDatasource()); + } + } + + @JSONField(serialize = false) // 不在日志打印 账号/密码 等敏感信息,用了 UnitAuto 则一定要加 + @Override + public String getDBUri() { + try { + return DynamicJdbcDataSource.getDetail(this.getDatasource()).getUrl(); // 数据库连接url + } catch (Exception e) { + throw new IllegalArgumentException("动态数据源配置错误 " + this.getDatasource()); + } + } + + @JSONField(serialize = false) // 不在日志打印 账号/密码 等敏感信息,用了 UnitAuto 则一定要加 + @Override + public String getDBAccount() { + try { + return DynamicJdbcDataSource.getDetail(this.getDatasource()).getDbAccount(); + } catch (Exception e) { + throw new IllegalArgumentException("动态数据源配置错误 " + this.getDatasource()); + } + } + + @JSONField(serialize = false) // 不在日志打印 账号/密码 等敏感信息,用了 UnitAuto 则一定要加 + @Override + public String getDBPassword() { + try { + return DynamicJdbcDataSource.getDetail(this.getDatasource()).getDbPassword(); + } catch (Exception e) { + throw new IllegalArgumentException("动态数据源配置错误 " + this.getDatasource()); + } + } + +} diff --git a/APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/DemoSQLExecutor.java b/APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/DemoSQLExecutor.java new file mode 100644 index 00000000..ac30e20f --- /dev/null +++ b/APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/DemoSQLExecutor.java @@ -0,0 +1,118 @@ +/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON) + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License.*/ + +package apijson.demo; + +import java.sql.Connection; +import javax.sql.DataSource; +import apijson.Log; +import apijson.NotNull; +import apijson.StringUtil; +import apijson.framework.APIJSONSQLExecutor; +import apijson.orm.SQLConfig; +import lombok.extern.log4j.Log4j2; + +/** + * SQL 执行器,支持连接池及多数据源 具体见 https://github.com/Tencent/APIJSON/issues/151 + * + * @author Lemon + */ +@Log4j2 +public class DemoSQLExecutor extends APIJSONSQLExecutor { + public static final String TAG = "DemoSQLExecutor"; + + // 适配连接池,如果这里能拿到连接池的有效 Connection,则 SQLConfig 不需要配置 dbVersion, dbUri, dbAccount, + // dbPassword + @Override + public Connection getConnection(SQLConfig config) throws Exception { + String datasource = config.getDatasource(); + Log.d(TAG, "getConnection config.getDatasource() = " + datasource); + + String key = datasource + "-" + config.getDatabase(); + Connection conn = connectionMap.get(key); + if (conn == null || conn.isClosed()) { + DataSource dataSource = DataBaseUtil.getDataSource(datasource); + connectionMap.put(key, dataSource == null ? null : dataSource.getConnection()); + } + return super.getConnection(config); + } + + @SuppressWarnings("incomplete-switch") + @Override + public int executeUpdate(@NotNull SQLConfig config, String sql) throws Exception { + if (config.getDatasource() != null && StringUtil.equals(config.getDatabase(), SQLConfig.DATABASE_ELASTICSEARCH)) { + // TODO 调用 非 jdbc数据源,执行相关语句 + ESOptions esOptions = new ESOptions(); + switch (config.getMethod()) { + case POST: + return esOptions.insert(config, config.getDatasource()); + case PUT: + return esOptions.updateBySql(config, config.getDatasource(), sql); + case DELETE: + return esOptions.deleteBySql(config, config.getDatasource(), sql); + } + } + return super.executeUpdate(config, sql); + } + /*** + * 查询返回字段值进行二次处理 + */ +// @Override +// protected JSONObject onPutColumn(@NotNull SQLConfig config, @NotNull ResultSet rs, @NotNull ResultSetMetaData rsmd +// , final int tablePosition, @NotNull JSONObject table, final int columnIndex, Join join, Map childMap) throws Exception { +// if (table == null) { // 对应副表 viceSql 不能生成正常 SQL, 或者是 ! - Outer, ( - ANTI JOIN 的副表这种不需要缓存及返回的数据 +// Log.i(TAG, "onPutColumn table == null >> return table;"); +// return table; +// } +// +// if (isHideColumn(config, rs, rsmd, tablePosition, table, columnIndex, childMap)) { +// Log.i(TAG, "onPutColumn isHideColumn(config, rs, rsmd, tablePosition, table, columnIndex, childMap) >> return table;"); +// return table; +// } +// +// String label = getKey(config, rs, rsmd, tablePosition, table, columnIndex, childMap); +// Object value = getValue(config, rs, rsmd, tablePosition, table, columnIndex, label, childMap); +// +// // TODO +// if(StringUtils.equals(config.getTable(), "User") && StringUtils.equals(label, "addr_id")) { +// value = "1-1-1"; +// } +// // 主表必须 put 至少一个 null 进去,否则全部字段为 null 都不 put 会导致中断后续正常返回值 +// if (value != null || (join == null && table.isEmpty())) { +// table.put(label, value); +// } +// +// return table; +// } + + // 取消注释支持 !key 反选字段 和 字段名映射,需要先依赖插件 https://github.com/APIJSON/apijson-column + // @Override + // protected String getKey(SQLConfig config, ResultSet rs, ResultSetMetaData + // rsmd, int tablePosition, JSONObject table, + // int columnIndex, Map childMap) throws Exception { + // return ColumnUtil.compatOutputKey(super.getKey(config, rs, rsmd, + // tablePosition, table, columnIndex, childMap), config.getTable(), + // config.getMethod()); + // } + + // 不需要隐藏字段这个功能时,取消注释来提升性能 + // @Override + // protected boolean isHideColumn(SQLConfig config, ResultSet rs, + // ResultSetMetaData rsmd, int tablePosition, + // JSONObject table, int columnIndex, Map childMap) throws + // SQLException { + // return false; + // } + +} diff --git a/APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/DynamicJdbcDataSource.java b/APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/DynamicJdbcDataSource.java new file mode 100644 index 00000000..75cd4755 --- /dev/null +++ b/APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/DynamicJdbcDataSource.java @@ -0,0 +1,209 @@ +package apijson.demo; + +import static com.alibaba.druid.pool.DruidDataSourceFactory.PROP_CONNECTIONPROPERTIES; +import static com.alibaba.druid.pool.DruidDataSourceFactory.PROP_URL; + +import java.net.InetAddress; +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.HashMap; +import java.util.Map; +import java.util.Properties; + +import javax.sql.DataSource; + +import org.apache.http.HttpHost; +import org.elasticsearch.common.transport.TransportAddress; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.ApplicationArguments; +import org.springframework.boot.ApplicationRunner; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; + +import com.alibaba.druid.pool.DruidDataSource; +import com.alibaba.druid.pool.ElasticSearchDruidDataSourceFactory; +import com.baomidou.dynamic.datasource.DynamicRoutingDataSource; +import com.baomidou.dynamic.datasource.ds.ItemDataSource; +import com.baomidou.mybatisplus.extension.toolkit.JdbcUtils; + +import apijson.JSONObject; +import apijson.StringUtil; +import apijson.orm.SQLConfig; +import lombok.Data; +import lombok.extern.log4j.Log4j2; + +/*** + * 不存在并发问题 + * 缓存 jdbc 数据源,供apijson调用 + * 1、应用启动添加数据源 + * 2、页面动态添加数据源(数据库存储数据源信息) + * + * @author xy + * + */ +@Data +@Order(value = 10) +@Component +@Log4j2 +public class DynamicJdbcDataSource implements ApplicationRunner { + // value: 数据源相关信息 + private static Map dataSourceMap = new HashMap<>(); + private String database; // 表所在的数据库类型 + private String schema; // 表所在的数据库名 + private String datasourceName; // 数据源 + private String url; // jdbc url + private String dbAccount; // 数据库用户名 + private String dbPassword; // 数据库密码 + private String dbVersion; // 数据库版本号 + private String clusterName; // 集群名称 + private TransportAddress[] transportAddresss; // elasticSearch tcp地址 + private HttpHost[] httpHosts; // elasticSearch http地址 + + @Autowired + private DataSource dataSource; // 数据源 + + public static void addDataSource(DynamicJdbcDataSource detail) { + dataSourceMap.put(detail.getDatasourceName(), detail); + } + + /*** + * 获取数据源详细信息 + * + * @return + */ + public static DynamicJdbcDataSource getDetail(String datasource) { + if (datasource == null) { + // 默认数据源 + datasource = DataBaseConfig.getInstence().getPrimary(); + } + // 不存在交给框架处理 + return dataSourceMap.get(datasource); + } + + @Override + public void run(ApplicationArguments args) throws Exception { + initJdbcDataSource(); // 初始化spring application.xml 数据库连接池 + // 从数据库初始化 动态数据源 + initElasticDataSource(); + } + + /*** + * 后面替换为从数据库加载 + * + * @throws Exception + */ + public void initElasticDataSource() throws Exception { + String datasourceName = "elasticSearch"; + String urlPrefix = "jdbc:elasticsearch://"; + String httpAddress = "47.108.49.213:9201,47.108.49.213:9202,47.108.49.213:9203"; + String[] httpAddressArr = httpAddress.split(","); + HttpHost[] httpHosts = new HttpHost[httpAddressArr.length]; + for (int i = 0; i < httpAddressArr.length; i++) { + String val = httpAddressArr[i]; + String[] data = val.split(":"); + HttpHost httpHost = new HttpHost(InetAddress.getByName(data[0]), Integer.parseInt(data[1])); + httpHosts[i] = httpHost; + } + + String tcpAddress = "47.108.49.213:9301,47.108.49.213:9302,47.108.49.213:9303"; + String url = urlPrefix + tcpAddress; + String[] tcpAddressArr = tcpAddress.split(","); + TransportAddress[] transportAddresss = new TransportAddress[tcpAddressArr.length]; + for (int i = 0; i < tcpAddressArr.length; i++) { + String val = tcpAddressArr[i]; + String[] data = val.split(":"); + TransportAddress transportAddress = new TransportAddress(InetAddress.getByName(data[0]), Integer.parseInt(data[1])); + transportAddresss[i] = transportAddress; + } + log.info("elasticSearch数据源:{},ip地址:{} ", datasourceName, JSONObject.toJSONString(transportAddresss)); + String database = SQLConfig.DATABASE_ELASTICSEARCH; // 数据库类型 + String dbAccount = null; // 数据库用户名 + String dbPassword = null; // 数据库密码 + Properties properties = new Properties(); + properties.put(PROP_URL, url); + String connectionStr = "client.transport.ignore_cluster_name=true"; + if (StringUtil.isNotEmpty(dbAccount) && StringUtil.isNotEmpty(dbPassword)) { + connectionStr += ";xpack.security.user="+dbAccount+":"+dbPassword; + } + // properties.put(PROP_CONNECTIONPROPERTIES, "client.transport.ignore_cluster_name=true;xpack.security.user=elastic:5laftq1NilavFTibKOaZ"); + properties.put(PROP_CONNECTIONPROPERTIES, connectionStr); + DataSource dataSource = ElasticSearchDruidDataSourceFactory.createDataSource(properties); + + DynamicJdbcDataSource dynDataSource = new DynamicJdbcDataSource(); + dynDataSource.setDatasourceName(datasourceName); + dynDataSource.setDatabase(database); + dynDataSource.setDataSource(dataSource); + dynDataSource.setSchema(""); // 不需要配置数据库名 + // APIJSONSQLConfig.TABLE_KEY_MAP.put("ES_blog", "es_blog/dd"); 来支持 index/doc + dynDataSource.setUrl(url); + if (StringUtil.isNotEmpty(dbAccount) && StringUtil.isNotEmpty(dbPassword)) { + dynDataSource.setDbAccount(dbAccount); + dynDataSource.setDbPassword(dbPassword); + } + dynDataSource.setDbVersion("7.17.5"); + dynDataSource.setClusterName("docker-cluster"); + dynDataSource.setTransportAddresss(transportAddresss); + dynDataSource.setHttpHosts(httpHosts); + dataSourceMap.put(datasourceName, dynDataSource); + } + + /*** + * 初始化数据库连接池 + */ + private void initJdbcDataSource() { + DynamicRoutingDataSource dataSourceList = (DynamicRoutingDataSource) this.dataSource; + for (String datasourceName : dataSourceList.getDataSources().keySet()) { + ItemDataSource dataSource = (ItemDataSource) dataSourceList.getDataSources().get(datasourceName); + DruidDataSource druid = (DruidDataSource) dataSource.getRealDataSource(); + String url = druid.getDataSourceStat().getUrl(); // 数据库连接url + String schema = DataBaseUtil.getLibname(url); // 数据库名; + String database = JdbcUtils.getDbType(url).getDb().toUpperCase(); // 数据库类型 + String dbAccount = druid.getUsername(); // 数据库用户名 + String dbPassword = druid.getPassword(); // 数据库密码 + String dbVersion = getDBVersion(dataSource); + + DynamicJdbcDataSource dynDataSource = new DynamicJdbcDataSource(); + dynDataSource.setDatasourceName(datasourceName); + dynDataSource.setDatabase(database); + dynDataSource.setDataSource(druid); + dynDataSource.setSchema(schema); + dynDataSource.setUrl(url); + dynDataSource.setDbAccount(dbAccount); + dynDataSource.setDbPassword(dbPassword); + dynDataSource.setDbVersion(dbVersion); + dataSourceMap.put(datasourceName, dynDataSource); + } + } + + public String getDBVersion(DataSource dataSource) { + Connection connection = null; + Statement statement = null; + ResultSet resultSet = null; + try { + connection = dataSource.getConnection(); + statement = connection.createStatement(); + resultSet = statement.executeQuery("select version() as version"); + while (resultSet.next()) { + return resultSet.getString("version"); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + if (resultSet != null) { + resultSet.close(); + } + if (statement != null) { + statement.close(); + } + if (connection != null) { + connection.close(); + } + } catch (SQLException throwables) { + } + } + return null; + } +} diff --git a/APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/ESOptions.java b/APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/ESOptions.java new file mode 100644 index 00000000..13ad4455 --- /dev/null +++ b/APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/ESOptions.java @@ -0,0 +1,274 @@ +package apijson.demo; + +import java.io.IOException; +import java.util.List; + +import org.apache.http.HttpHost; +import org.apache.http.impl.nio.client.HttpAsyncClientBuilder; +import org.elasticsearch.action.bulk.BulkItemResponse; +import org.elasticsearch.action.bulk.BulkRequestBuilder; +import org.elasticsearch.action.bulk.BulkResponse; +import org.elasticsearch.action.index.IndexRequestBuilder; +import org.elasticsearch.client.RequestOptions; +import org.elasticsearch.client.RestClient; +import org.elasticsearch.client.RestClientBuilder; +import org.elasticsearch.client.RestHighLevelClient; +import org.elasticsearch.client.transport.TransportClient; +import org.elasticsearch.common.settings.Settings; +import org.elasticsearch.common.transport.TransportAddress; +import org.elasticsearch.index.query.QueryBuilder; +import org.elasticsearch.index.query.QueryBuilders; +import org.elasticsearch.index.reindex.BulkByScrollResponse; +import org.elasticsearch.index.reindex.UpdateByQueryRequest; +import org.elasticsearch.script.Script; +import org.elasticsearch.transport.client.PreBuiltTransportClient; +import org.elasticsearch.xcontent.XContentBuilder; +import org.elasticsearch.xcontent.XContentFactory; +import org.nlpcn.es4sql.SearchDao; +import org.nlpcn.es4sql.domain.Where; +import org.nlpcn.es4sql.parse.SqlParser; +import org.nlpcn.es4sql.parse.WhereParser; +import org.nlpcn.es4sql.query.ESActionFactory; +import org.nlpcn.es4sql.query.SqlElasticRequestBuilder; +import org.nlpcn.es4sql.query.maker.QueryMaker; + +import com.alibaba.druid.sql.ast.statement.SQLDeleteStatement; +import com.alibaba.druid.sql.parser.SQLStatementParser; + +import apijson.StringUtil; +import apijson.orm.SQLConfig; +import lombok.extern.log4j.Log4j2; + +@Log4j2 +public class ESOptions { + + public TransportClient getTransportClient(String dataSource) { + try { + String clusterName = DynamicJdbcDataSource.getDetail(dataSource).getClusterName(); + Settings settings = Settings.builder().put("cluster.name", clusterName).build(); +// Settings settings = Settings.builder() +// .put("cluster.name", clusterName) +// // 设置xpack权限用户 +// .put("xpack.security.user", userName + ":" + password) +// .build(); + TransportAddress[] transportAddresss = DynamicJdbcDataSource.getDetail(dataSource).getTransportAddresss(); + TransportClient client = new PreBuiltTransportClient(settings); + client.addTransportAddresses(transportAddresss); // 通讯端口 而不是服务端口 + return client; + } catch (Exception e) { + e.printStackTrace(); + throw new IllegalArgumentException("动态数据源配置错误 " + dataSource); + } + } + + private RestHighLevelClient getRestHighLevelClient(String dataSource) { + try { + HttpHost[] httpHosts = DynamicJdbcDataSource.getDetail(dataSource).getHttpHosts(); + // final CredentialsProvider credentialsProvider = new + // BasicCredentialsProvider(); + // credentialsProvider.setCredentials(AuthScope.ANY, new + // UsernamePasswordCredentials("", "")); + RestClientBuilder builder = RestClient.builder(httpHosts).setHttpClientConfigCallback(new RestClientBuilder.HttpClientConfigCallback() { + @Override + public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpClientBuilder) { + // return httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider); + return httpClientBuilder; + } + }); + return new RestHighLevelClient(builder); + } catch (Exception e) { + e.printStackTrace(); + throw new IllegalArgumentException("动态数据源配置错误 " + dataSource); + } + } + + /*** + * sql语句解析为dsl + * 支持 查询、删除, 不支持 新增、修改. + * 可以将sql语句转换一下 + * @param dataSource + * @param sql + * @return + * @throws Exception + */ + private String explain(String dataSource, String sql) throws Exception { + // 获取client + TransportClient client = getTransportClient(dataSource); + SearchDao searchDao = new SearchDao(client); + SqlElasticRequestBuilder requestBuilder = searchDao.explain(sql).explain(); + return requestBuilder.explain(); + } + + @SuppressWarnings("deprecation") + public int updateBySql(SQLConfig config, String dataSource, String sql) { + // 获取client + RestHighLevelClient restHighLevelClient = getRestHighLevelClient(dataSource); + try { + sql = StringUtil.isEmpty(sql) ? config.getSQL(false) : sql; + String sqlTable = config.getSQLTable(); // 截取 + int index = sqlTable.indexOf("/"); + String indexName = null; + String type = null; + if (index > 0) { + indexName = sqlTable.substring(0, index); + type = sqlTable.substring(index + 1); + } else { + indexName = sqlTable; + } + + index = sql.indexOf("WHERE"); + UpdateByQueryRequest updateByQuery = new UpdateByQueryRequest(indexName); + if (index > 0) { + String whereSql = sql.substring(index); + index = whereSql.indexOf("RLIKE"); + if(index > 0) { + whereSql = whereSql.replace("RLIKE", "="); + } + String tmpSearchSql = "DELETE from " + indexName + " " + whereSql; + // 获取sql 转换为 elasticSearch api 某一部分,比如where查询等等 + SQLStatementParser parser = ESActionFactory.createSqlStatementParser(tmpSearchSql); + SQLDeleteStatement deleteStatement = parser.parseDeleteStatement(); + WhereParser whereParser = new WhereParser(new SqlParser(), deleteStatement); + Where where = whereParser.findWhere(); + if (where != null) { + QueryBuilder whereQuery = QueryMaker.explan(where); + updateByQuery.setQuery(whereQuery); + } else { + updateByQuery.setQuery(QueryBuilders.matchAllQuery()); + } + } + if(StringUtil.isNotEmpty(type)) { + updateByQuery.setDocTypes(type); + } + // 设置版本冲突时继续执行 + updateByQuery.setConflicts("proceed"); + // 设置更新完成后刷新索引 ps很重要如果不加可能数据不会实时刷新 + updateByQuery.setRefresh(true); + + StringBuffer sb = new StringBuffer(); + for (String column : config.getContent().keySet()) { + Object value = config.getContent().get(column); + // 最后多一个;不会影响,elasticsearch能正确解析 + if(StringUtil.isNumer(value.toString())) { + sb.append("ctx._source['" + column + "'] = " + value + ";"); + }else { + sb.append("ctx._source['" + column + "'] = '" + value + "';"); + } + } + updateByQuery.setScript(new Script(sb.toString())); + BulkByScrollResponse response = restHighLevelClient.updateByQuery(updateByQuery, RequestOptions.DEFAULT); + return response.getStatus().getUpdated() > 0 ? (int)response.getStatus().getUpdated() : 0; + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (restHighLevelClient != null) { + try { + restHighLevelClient.close(); + } catch (IOException e) { + } + } + } + return 0; + } + + /*** + * sql语句转换为dsl执行 + * + * @param config + * @param dataSource + * @return + */ + @SuppressWarnings("deprecation") + public int deleteBySql(SQLConfig config, String dataSource, String sql) { + TransportClient client = getTransportClient(dataSource); + try { + sql = StringUtil.isEmpty(sql) ? config.getSQL(false) : sql; + String sqlTable = config.getSQLTable(); // 截取 + int index = sqlTable.indexOf("/"); + String indexName = null; + if (index > 0) { + indexName = sqlTable.substring(0, index); + } else { + indexName = sqlTable; + } + + SearchDao searchDao = new SearchDao(client); + client.admin().indices().prepareRefresh(indexName).get(); + SqlElasticRequestBuilder requestBuilder = searchDao.explain(sql).explain(); + log.info("sql explain: {}", requestBuilder.explain()); // 线上去掉 + BulkByScrollResponse response = (BulkByScrollResponse) requestBuilder.get(); + if (response.getStatus().getDeleted() > 0) { + searchDao.getClient().admin().indices().prepareRefresh(indexName).get(); + return (int)response.getStatus().getDeleted(); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (client != null) { + client.close(); + } + } + return 0; + } + + /** + * 支持批量插入,apijson框架目前还未放开批量操作 + * @param config + * @param dataSource + * @return + */ + @SuppressWarnings("deprecation") + public int insert(SQLConfig config, String dataSource) { + TransportClient client = getTransportClient(dataSource); + StringBuffer errorMsg = new StringBuffer(); + try { + BulkRequestBuilder builder = client.prepareBulk(); + String sqlTable = config.getSQLTable(); // 截取 + int index = sqlTable.indexOf("/"); + String indexName = null; + String type = null; + if (index > 0) { + indexName = sqlTable.substring(0, index); + type = sqlTable.substring(index + 1); + } else { + indexName = sqlTable; + } + // 支持批量插入[[],[]] + for (int i = 0; i < config.getValues().size(); i++) { + List values = config.getValues().get(i); + XContentBuilder xContentBuilder = XContentFactory.jsonBuilder().startObject(); + for (int j = 0; j < values.size(); j++) { + xContentBuilder.field(config.getColumn().get(j), values.get(j)); + } + if (values.size() > 0) { + xContentBuilder.endObject(); + IndexRequestBuilder request = client.prepareIndex(indexName, type, config.getId().toString()).setSource(xContentBuilder); + builder.add(request); + } + } + BulkResponse response = builder.get(); + if (response.hasFailures()) { + for (BulkItemResponse br : response.getItems()) { + errorMsg.append(br.getId() + ";" + br.getFailureMessage() + "\n"); + } + log.error("数据源 {}, 插入操作失败:{}", dataSource, errorMsg); + } else { + // 立刻刷新索引 + client.admin().indices().prepareRefresh(indexName).get(); + return 1; + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (client != null) { + client.close(); + } + } + + if (errorMsg.length() > 0) { + throw new IllegalArgumentException("数据源 " + dataSource + ", 插入操作失败 ! " + errorMsg); + } + return 0; + } + +} diff --git a/APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/ElasticSearchSqlTest.java b/APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/ElasticSearchSqlTest.java new file mode 100644 index 00000000..79b3d954 --- /dev/null +++ b/APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/ElasticSearchSqlTest.java @@ -0,0 +1,233 @@ +package apijson.demo; + +import static com.alibaba.druid.pool.DruidDataSourceFactory.PROP_CONNECTIONPROPERTIES; +import static com.alibaba.druid.pool.DruidDataSourceFactory.PROP_URL; + +import java.net.InetAddress; +import java.net.UnknownHostException; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.util.Properties; + +import javax.sql.DataSource; + +import org.apache.http.HttpHost; +import org.apache.http.auth.AuthScope; +import org.apache.http.auth.UsernamePasswordCredentials; +import org.apache.http.client.CredentialsProvider; +import org.apache.http.impl.client.BasicCredentialsProvider; +import org.apache.http.impl.nio.client.HttpAsyncClientBuilder; +import org.elasticsearch.action.admin.cluster.node.info.NodesInfoResponse; +import org.elasticsearch.client.RequestOptions; +import org.elasticsearch.client.RestClient; +import org.elasticsearch.client.RestClientBuilder; +import org.elasticsearch.client.RestHighLevelClient; +import org.elasticsearch.client.transport.TransportClient; +import org.elasticsearch.common.settings.Settings; +import org.elasticsearch.common.transport.TransportAddress; +import org.elasticsearch.index.query.QueryBuilder; +import org.elasticsearch.index.query.QueryBuilders; +import org.elasticsearch.index.query.WrapperQueryBuilder; +import org.elasticsearch.index.reindex.BulkByScrollResponse; +import org.elasticsearch.index.reindex.DeleteByQueryAction; +import org.elasticsearch.index.reindex.DeleteByQueryRequestBuilder; +import org.elasticsearch.index.reindex.UpdateByQueryRequest; +import org.elasticsearch.script.Script; +import org.elasticsearch.transport.client.PreBuiltTransportClient; +import org.elasticsearch.xpack.client.PreBuiltXPackTransportClient; +import org.junit.Test; +import org.nlpcn.es4sql.SearchDao; +import org.nlpcn.es4sql.domain.Where; +import org.nlpcn.es4sql.exception.SqlParseException; +import org.nlpcn.es4sql.parse.SqlParser; +import org.nlpcn.es4sql.parse.WhereParser; +import org.nlpcn.es4sql.query.ESActionFactory; +import org.nlpcn.es4sql.query.SqlElasticRequestBuilder; +import org.nlpcn.es4sql.query.maker.QueryMaker; + +import com.alibaba.druid.pool.DruidDataSource; +import com.alibaba.druid.pool.ElasticSearchDruidDataSourceFactory; +import com.alibaba.druid.sql.ast.statement.SQLDeleteStatement; +import com.alibaba.druid.sql.parser.SQLStatementParser; +import com.alibaba.fastjson.JSONObject; + +import apijson.StringUtil; +import lombok.extern.slf4j.Slf4j; + +/*** + * + * @author xy + * + */ +@Slf4j +public class ElasticSearchSqlTest { + + public static void main(String[] args) throws Exception { + Properties properties = new Properties(); + properties.put(PROP_URL, "jdbc:elasticsearch://47.108.49.213:9302"); + properties.put(PROP_CONNECTIONPROPERTIES, "client.transport.ignore_cluster_name=true"); + DruidDataSource dds = (DruidDataSource) ElasticSearchDruidDataSourceFactory.createDataSource(properties); + Connection connection = dds.getConnection(); + // SELECT count(*) as count FROM es_blog + PreparedStatement ps = connection.prepareStatement("SELECT count, count(*) as total FROM es_blog/dd group by count"); + ResultSet resultSet = ps.executeQuery(); + while (resultSet.next()) { + System.out.println(resultSet.getObject("count") + ";" + resultSet.getObject("total")); + } + + ps.close(); + connection.close(); + dds.close(); + } + + /** + * 将sql语句转换未dsl语句 + * + * @throws Exception + * @throws SqlParseException + */ + @Test + public void sqlExplainTest() throws Exception, SqlParseException { + String sql = "SELECT count, count(*) as total FROM es_blog group by count"; + String explain = explain(sql); + log.info("explain:{}", explain); + } + + private String explain(String sql) throws Exception { + // 获取client + Settings settings = Settings.builder().put("cluster.name", "docker-cluster").build(); + TransportClient transportClient = new PreBuiltTransportClient(settings); + transportClient.addTransportAddress(getTransportAddress()); + SearchDao searchDao = new SearchDao(transportClient); + SqlElasticRequestBuilder requestBuilder = searchDao.explain(sql).explain(); + return requestBuilder.explain(); + } + + String TEST_INDEX = "es_blog"; + + /*** + * 非jdbc方式 实现delete + * + * @throws Exception + * @throws SqlParseException + */ + @Test + public void deleteTest() throws Exception, SqlParseException { + // String deleteStatement = "delete from " + TEST_INDEX +" where title.keyword = + // \"Linux安装\""; + String deleteStatement = "DELETE FROM es_blog WHERE id IN ('c7890a84-1b3c-464d-9c40-9d2cf5a1d292','322323') "; + // String deleteStatement = "DELETE FROM es_blog WHERE title.keyword = 'test-3' + // and count = 3"; +// String deleteStatement = "DELETE FROM es_blog WHERE title.keyword like 'test%'"; + // 获取client + Settings settings = Settings.builder().put("client.transport.ignore_cluster_name", true).build(); + TransportClient client = new PreBuiltTransportClient(settings).addTransportAddress(getTransportAddress()); + NodesInfoResponse nodeInfos = client.admin().cluster().prepareNodesInfo().get(); + String clusterName = nodeInfos.getClusterName().value(); + log.info(String.format("Found cluster... cluster name: %s", clusterName)); + SearchDao searchDao = new SearchDao(client); + client.admin().indices().prepareRefresh(TEST_INDEX + "*").get(); + + // searchDao.explain(deleteStatement).explain().get(); + + SqlElasticRequestBuilder requestBuilder = searchDao.explain(deleteStatement).explain(); + log.info("sql explain: {}", requestBuilder.explain()); + BulkByScrollResponse reponse = (BulkByScrollResponse) requestBuilder.get(); + searchDao.getClient().admin().indices().prepareRefresh(TEST_INDEX).get(); + } + + protected static TransportAddress getTransportAddress() throws UnknownHostException { + String host = "47.108.49.213"; + String port = "9301"; + return new TransportAddress(InetAddress.getByName(host), Integer.parseInt(port)); + } + + protected static TransportAddress getHttpTransportAddress() throws UnknownHostException { + String host = "47.108.49.213"; + String port = "9201"; + return new TransportAddress(InetAddress.getByName(host), Integer.parseInt(port)); + } + + + @Test + public void delete() throws Exception { + deleteQuery(TEST_INDEX, null); + } + + public static void deleteQuery(String indexName, String typeName) throws Exception { + // 获取client +// Settings settings = Settings.builder().put("cluster.name", "docker-cluster").build(); +// TransportClient client = new PreBuiltTransportClient(settings); + Settings settings = Settings.builder().put("cluster.name", "docker-cluster") + // 设置xpack权限用户 + .put("xpack.security.user", "elastic:ztzh@smart666") + .put("xpack.security.transport.ssl.enabled",false)//设置xpack权限用户 + .put("client.transport.sniff", true) + .build(); + TransportClient client = new PreBuiltXPackTransportClient(settings); + client.addTransportAddress(getTransportAddress()); + DeleteByQueryRequestBuilder deleteQueryBuilder = new DeleteByQueryRequestBuilder(client, DeleteByQueryAction.INSTANCE); + deleteQueryBuilder.filter(QueryBuilders.matchQuery("title.keyword", "u-test-1")).source(indexName); + if (typeName != null) { + deleteQueryBuilder.request().getSearchRequest().types(typeName); + } + deleteQueryBuilder.get(); + // deleteQueryBuilder.filter(QueryBuilders.matchAllQuery()).get(); + System.out.println(String.format("Deleted index %s and type %s", indexName, typeName)); + } + + private RestHighLevelClient buildClient() { + final CredentialsProvider credentialsProvider = new BasicCredentialsProvider(); + credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials("elastic", "ztzh@smart666")); + RestClientBuilder builder = RestClient.builder(new HttpHost("47.108.49.213", 9201)).setHttpClientConfigCallback(new RestClientBuilder.HttpClientConfigCallback() { + @Override + public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpClientBuilder) { + return httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider); +// return httpClientBuilder; + } + }); + + RestHighLevelClient restHighLevelClient = new RestHighLevelClient(builder); + return restHighLevelClient; + } + + /*** + * 沿用 elastic-sql实现 + * + * @throws Exception + */ + @Test + public void update() throws Exception { + // 获取client + RestHighLevelClient restHighLevelClient = buildClient(); + String updateSql = "UPDATE es_blog set title = 'u-test-2' WHERE id = '82f812fb-72e2-491e-865a-1bfbd251e5cd'"; + int index = updateSql.indexOf("WHERE"); + if (index > 0) { + String tmpSearchSql = "DELETE from es_blog " + updateSql.substring(index); + UpdateByQueryRequest request = new UpdateByQueryRequest("es_blog"); + SQLStatementParser parser = ESActionFactory.createSqlStatementParser(tmpSearchSql); + SQLDeleteStatement deleteStatement = parser.parseDeleteStatement(); + WhereParser whereParser = new WhereParser(new SqlParser(), deleteStatement); + Where where = whereParser.findWhere(); + if (where != null) { + QueryBuilder whereQuery = QueryMaker.explan(where); + request.setQuery(whereQuery); + } else { + request.setQuery(QueryBuilders.matchAllQuery()); + } + request.setScript(new Script("ctx._source['title'] = 'test-2'")); + restHighLevelClient.updateByQuery(request, RequestOptions.DEFAULT); + restHighLevelClient.close(); + } + } + + @Test + public void testClusterName() throws Exception { + Settings settings = Settings.builder().put("client.transport.ignore_cluster_name", true).build(); + TransportClient client = new PreBuiltXPackTransportClient(settings).addTransportAddress(getTransportAddress()); + NodesInfoResponse nodeInfos = client.admin().cluster().prepareNodesInfo().get(); + String clusterName = nodeInfos.getClusterName().value(); + log.info(clusterName); + } +} diff --git a/APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/SpringContextUtils.java b/APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/SpringContextUtils.java new file mode 100644 index 00000000..7a8e8f4f --- /dev/null +++ b/APIJSONDemo-MultiDataSource-Elasticsearch/src/main/java/apijson/demo/SpringContextUtils.java @@ -0,0 +1,60 @@ +package apijson.demo; + +import java.util.Map; + +import org.springframework.beans.BeansException; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; +import org.springframework.stereotype.Component; + +/** + * Spring Context 工具类 + * + * @author + */ +@Component +public class SpringContextUtils implements ApplicationContextAware { + public static ApplicationContext applicationContext; + + @Override + public void setApplicationContext(ApplicationContext applicationContext) + throws BeansException { + SpringContextUtils.applicationContext = applicationContext; + } + + public static Object getBean(String name) { + return applicationContext.getBean(name); + } + + public static T getBean(String name, Class requiredType) { + return applicationContext.getBean(name, requiredType); + } + + /** + * 通过class获取Bean. + * + * @param clazz + * @param + * @return + */ + public static T getBean(Class clazz) { + return applicationContext.getBean(clazz); + } + + public static boolean containsBean(String name) { + return applicationContext.containsBean(name); + } + + public static boolean isSingleton(String name) { + return applicationContext.isSingleton(name); + } + + public static Class getType(String name) { + return applicationContext.getType(name); + } + + public static Map getBeansOfType(Class type) { + return applicationContext.getBeansOfType(type); + } + +} diff --git a/APIJSONDemo-MultiDataSource-Elasticsearch/src/main/resources/application.yml b/APIJSONDemo-MultiDataSource-Elasticsearch/src/main/resources/application.yml new file mode 100644 index 00000000..61cacf5f --- /dev/null +++ b/APIJSONDemo-MultiDataSource-Elasticsearch/src/main/resources/application.yml @@ -0,0 +1,55 @@ +spring: + datasource: + type: com.alibaba.druid.pool.DruidDataSource + dynamic: + primary: master + strict: true + druid: + initial-size: 5 + min-idle: 5 + maxActive: 2000 + maxWait: 60000 + timeBetweenEvictionRunsMillis: 60000 + minEvictableIdleTimeMillis: 300000 + validationQuery: SELECT 1 FROM DUAL + testWhileIdle: true + testOnBorrow: false + testOnReturn: false + poolPreparedStatements: true + maxPoolPreparedStatementPerConnectionSize: 20 + filters: stat,slf4j + connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000 + datasource: + master: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://xxx:3306/housekeeping?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true&useSSL=false + username: + password: + 155db: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://xxx:3888/housekeeping?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true&useSSL=false + username: + password: + 213db: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://xxx:3888/housekeeping?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true&useSSL=false + username: + password: + db1: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://xxx:3306/apijsonMuli1?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true&useSSL=false + username: + password: + db2: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://xxx:3306/apijsonMuli2?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true&useSSL=false + username: + password: + filter: + stat: + log-slow-sql: true + slow-sql-millis: 1000 + merge-sql: false + wall: + config: + multi-statement-allow: true From 5eba9e88d66a68eaa4dbc7cb252e1612f482d6ed Mon Sep 17 00:00:00 2001 From: cloudAndMonkey Date: Tue, 13 Dec 2022 14:40:37 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pom.xml | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/APIJSONDemo-MultiDataSource-Elasticsearch/pom.xml b/APIJSONDemo-MultiDataSource-Elasticsearch/pom.xml index 8c12edd1..5003dda4 100644 --- a/APIJSONDemo-MultiDataSource-Elasticsearch/pom.xml +++ b/APIJSONDemo-MultiDataSource-Elasticsearch/pom.xml @@ -33,6 +33,11 @@ 1.10 4.4 1.10 + 5.5.0 + 8.0.31 + 5.3.18 + 2.6.6 + 3.5.2 1.8 @@ -48,12 +53,12 @@ com.github.Tencent APIJSON - 5.5.0 + ${apijson.version} com.github.APIJSON apijson-framework - 5.5.0 + ${apijson.version} @@ -68,12 +73,12 @@ org.springframework spring-context-support - 5.3.18 + ${spring-context-support.version} org.springframework.boot spring-boot-configuration-processor - 2.6.6 + ${spring-boot-configuration-processor.version} true @@ -84,7 +89,7 @@ com.baomidou dynamic-datasource-spring-boot-starter - 3.5.2 + ${dynamic-datasource-spring-boot-starter.version} com.baomidou @@ -110,7 +115,7 @@ mysql mysql-connector-java - 8.0.31 + ${mysql.version} org.elasticsearch.client @@ -136,12 +141,12 @@ org.elasticsearch.plugin reindex-client - 7.17.5 + ${elasticsearch.version} org.elasticsearch.plugin parent-join-client - 7.17.5 + ${elasticsearch.version} com.alibaba From b33c55468a648360136d2bbea44cbda66d4ee212 Mon Sep 17 00:00:00 2001 From: cloudAndMonkey Date: Tue, 13 Dec 2022 14:47:52 +0800 Subject: [PATCH 3/3] Update README.md --- .../README.md | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/APIJSONDemo-MultiDataSource-Elasticsearch/README.md b/APIJSONDemo-MultiDataSource-Elasticsearch/README.md index ee3f1545..0e61dbb9 100644 --- a/APIJSONDemo-MultiDataSource-Elasticsearch/README.md +++ b/APIJSONDemo-MultiDataSource-Elasticsearch/README.md @@ -46,7 +46,7 @@ } ``` - ![image-20221213105328227](/Users/xy/Library/Application Support/typora-user-images/image-20221213105328227.png) + ![image](https://user-images.githubusercontent.com/12228225/207245545-277ba9a6-e87f-42b3-af55-9d6a37384a1e.png) ## 2、集成elasticsearch-sql @@ -60,7 +60,7 @@ ## 4、elasticsearch-sql不支持RLIKE -![image-20221213141141037](/Users/xy/Library/Application Support/typora-user-images/image-20221213141141037.png) +![image](https://user-images.githubusercontent.com/12228225/207245701-ea2560a9-2389-4953-a568-9e85adfb15ad.png) ## 5、apijson支持字段 .keyword @@ -104,7 +104,6 @@ http://localhost:8080/post ``` -![image-20221213105649445](/Users/xy/Library/Application Support/typora-user-images/image-20221213105649445.png) @@ -112,7 +111,6 @@ elasticsearch查询插入的数据: GET /es_blog/_doc/5b77b103-0231-42c3-a6cf-a0cb933d3dda -![image-20221213105850231](/Users/xy/Library/Application Support/typora-user-images/image-20221213105850231.png) ### 批量插入 @@ -153,13 +151,10 @@ http://localhost:8080/post ``` -![image-20221213104938108](/Users/xy/Library/Application Support/typora-user-images/image-20221213104938108.png) - elasticsearch查询插入的数据: GET /es_blog/_search -![image-20221213105443909](/Users/xy/Library/Application Support/typora-user-images/image-20221213105443909.png) ### id修改 @@ -182,11 +177,6 @@ http://localhost:8080/put } ``` -![image-20221213110113376](/Users/xy/Library/Application Support/typora-user-images/image-20221213110113376.png) - - - -![image-20221213110132755](/Users/xy/Library/Application Support/typora-user-images/image-20221213110132755.png) ### 非id修改 @@ -263,7 +253,6 @@ http://localhost:8080/put } ``` -![image-20221213120359815](/Users/xy/Library/Application Support/typora-user-images/image-20221213120359815.png) ### 批量修改 @@ -333,7 +322,6 @@ http://localhost:8080/delete } ``` -![image-20221213115535006](/Users/xy/Library/Application Support/typora-user-images/image-20221213115535006.png) ### 批量删除 @@ -377,7 +365,6 @@ http://localhost:8080/delete ``` -![image-20221213140810462](/Users/xy/Library/Application Support/typora-user-images/image-20221213140810462.png) ### 分组查询 @@ -394,4 +381,3 @@ http://localhost:8080/delete } ``` -![image-20221213140933538](/Users/xy/Library/Application Support/typora-user-images/image-20221213140933538.png)