parent
4d1b73a91a
commit
324a12bb1c
@ -1,370 +0,0 @@
|
||||
/*
|
||||
Navicat Premium Dump SQL
|
||||
|
||||
Source Server : 10.10.14.71
|
||||
Source Server Type : PostgreSQL
|
||||
Source Server Version : 160000 (160000)
|
||||
Source Host : 10.10.14.71:5432
|
||||
Source Catalog : szjz_db
|
||||
Source Schema : public
|
||||
|
||||
Target Server Type : PostgreSQL
|
||||
Target Server Version : 160000 (160000)
|
||||
File Encoding : 65001
|
||||
|
||||
Date: 14/06/2024 14:23:36
|
||||
*/
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for t_zbdc_bureau_cgzb
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS "public"."t_zbdc_bureau_cgzb";
|
||||
CREATE TABLE "public"."t_zbdc_bureau_cgzb" (
|
||||
"xx_kxsysshshu" int4,
|
||||
"xx_kxsysjsny" int4,
|
||||
"xx_kxsysmj" float8,
|
||||
"xx_kxqqrshshu" int4,
|
||||
"xx_kxqqrsmj" float8,
|
||||
"xx_kxzbrshshu" int4,
|
||||
"xx_kxzbrsmj" float8,
|
||||
"xx_yqjtrshshu" int4,
|
||||
"xx_yqjtrmj" float8,
|
||||
"xx_yqqjkkjshu" int4,
|
||||
"xx_tygyshshu" int4,
|
||||
"xx_tyqjkkjshu" int4,
|
||||
"xx_msjtrshshu" int4,
|
||||
"xx_msjtrmj" float8,
|
||||
"xx_msqjkkjshu" int4,
|
||||
"xx_msfsjtrshshu" int4,
|
||||
"xx_msfsjtrmj" float8,
|
||||
"xx_ldjyqlhwsrshu" int4,
|
||||
"xx_ldjyzyhwsrshu" int4,
|
||||
"xx_ldjyprwywsrshu" int4,
|
||||
"xx_ldjyjyqyqsyyh" int4,
|
||||
"xx_ldjynyscld" int4,
|
||||
"xx_ldjyccgyz" int4,
|
||||
"xx_tsgcsshshu" int4,
|
||||
"xx_tsgcssmj" float8,
|
||||
"xx_tsgzjtsjcshu" int4,
|
||||
"xx_tsgdztsjcshu" int4,
|
||||
"xx_tsglsyysrshu" int4,
|
||||
"xx_tsglsyysmj" float8,
|
||||
"xx_tsgsyysrshu" int4,
|
||||
"xx_tsgsyysmj" float8,
|
||||
"xx_tsgdzyysrshu" int4,
|
||||
"xx_tsgdzyysmj" float8,
|
||||
"xx_xldfshshu" int4,
|
||||
"xx_xldfsmj" float8,
|
||||
"xx_wsrshu" int4,
|
||||
"xx_wsrmj" float8,
|
||||
"xx_hjddjzsks" int4,
|
||||
"xx_hjddwjzsks" int4,
|
||||
"xx_hjddjzgnqshu" int4,
|
||||
"xx_hjddwjzgnqshu" int4,
|
||||
"cz_wllshshshu" int4,
|
||||
"cz_wllsysjsny" int4,
|
||||
"cz_wllsmj" float8,
|
||||
"cz_wllyqshshu" int4,
|
||||
"cz_wllyqsmj" float8,
|
||||
"cz_wllzbrshshu" int4,
|
||||
"cz_wllzbrsmj" float8,
|
||||
"cz_wltgsmjshshu" int4,
|
||||
"cz_wltgsmjmj" float8,
|
||||
"cz_hxlshshshu" int4,
|
||||
"cz_hxsysjsny" int4,
|
||||
"cz_hxsysmj" float8,
|
||||
"cz_hxyqshshu" int4,
|
||||
"cz_hxyqsmj" float8,
|
||||
"cz_hxzbrshshu" int4,
|
||||
"cz_hxzbrsmj" float8,
|
||||
"cz_hxtgsmjshshu" int4,
|
||||
"cz_hxtgsmjmj" float8,
|
||||
"cz_swlshshshu" int4,
|
||||
"cz_swlsysjsny" int4,
|
||||
"cz_swlsmj" float8,
|
||||
"cz_swyqshshu" int4,
|
||||
"cz_swyqsmj" float8,
|
||||
"cz_swzbrshshu" int4,
|
||||
"cz_swzbrsmj" float8,
|
||||
"cz_swtgsmjshshu" int4,
|
||||
"cz_swtgsmjmj" float8,
|
||||
"cz_yqjtrshshu" int4,
|
||||
"cz_yqjtrmj" float8,
|
||||
"cz_yqqjkkjshu" int4,
|
||||
"cz_tygyshshu" int4,
|
||||
"cz_tyqjkkjshu" int4,
|
||||
"cz_msjtrshshu" int4,
|
||||
"cz_msjtrmj" float8,
|
||||
"cz_msqjkkjshu" int4,
|
||||
"cz_msfsjtrshshu" int4,
|
||||
"cz_msfsjtrmj" float8,
|
||||
"cz_ldjyqlhwsrshu" int4,
|
||||
"cz_ldjyzyhwsrshu" int4,
|
||||
"cz_ldjyprwywsrshu" int4,
|
||||
"cz_ldjyjyqyqsyyh" int4,
|
||||
"cz_ldjynyscld" int4,
|
||||
"cz_ldjyccgyz" int4,
|
||||
"cz_tsgcsshshu" int4,
|
||||
"cz_tsgcssmj" float8,
|
||||
"cz_tsgzjtsjcshu" int4,
|
||||
"cz_tsgdztsjcshu" int4,
|
||||
"cz_tsglsyysrshu" int4,
|
||||
"cz_tsglsyysmj" float8,
|
||||
"cz_tsgsyysrshu" int4,
|
||||
"cz_tsgsyysmj" float8,
|
||||
"cz_tsgdzyysrshu" int4,
|
||||
"cz_tsgdzyysmj" float8,
|
||||
"cz_xldfshshu" int4,
|
||||
"cz_xldfsmj" float8,
|
||||
"cz_wsrshu" int4,
|
||||
"cz_wsrmj" float8,
|
||||
"cz_qdljtrshshu" int4,
|
||||
"cz_qdljtrmj" float8,
|
||||
"cz_lsjtrshshu" int4,
|
||||
"cz_lsjtrmj" float8,
|
||||
"cz_hjddjzsks" int4,
|
||||
"cz_hjddwjzsks" int4,
|
||||
"cz_hjddjzgnqshu" int4,
|
||||
"cz_hjddwjzgnqshu" int4,
|
||||
"gz_wllshshshu" int4,
|
||||
"gz_wllsysjsny" int4,
|
||||
"gz_wllsmj" float8,
|
||||
"gz_wllyqshshu" int4,
|
||||
"gz_wllyqsmj" float8,
|
||||
"gz_wllzbrshshu" int4,
|
||||
"gz_wllzbrsmj" float8,
|
||||
"gz_wltgsmjshshu" int4,
|
||||
"gz_wltgsmjmj" float8,
|
||||
"gz_hxlshshshu" int4,
|
||||
"gz_hxsysjsny" int4,
|
||||
"gz_hxsysmj" float8,
|
||||
"gz_hxyqshshu" int4,
|
||||
"gz_hxyqsmj" float8,
|
||||
"gz_hxzbrshshu" int4,
|
||||
"gz_hxzbrsmj" float8,
|
||||
"gz_hxtgsmjshshu" int4,
|
||||
"gz_hxtgsmjmj" float8,
|
||||
"gz_swlshshshu" int4,
|
||||
"gz_swlsysjsny" int4,
|
||||
"gz_swlsmj" float8,
|
||||
"gz_swyqshshu" int4,
|
||||
"gz_swyqsmj" float8,
|
||||
"gz_swzbrshshu" int4,
|
||||
"gz_swzbrsmj" float8,
|
||||
"gz_swtgsmjshshu" int4,
|
||||
"gz_swtgsmjmj" float8,
|
||||
"gz_yqjtrshshu" int4,
|
||||
"gz_yqjtrmj" float8,
|
||||
"gz_yqqjkkjshu" int4,
|
||||
"gz_tygyshshu" int4,
|
||||
"gz_tyqjkkjshu" int4,
|
||||
"gz_msjtrshshu" int4,
|
||||
"gz_msjtrmj" float8,
|
||||
"gz_msqjkkjshu" int4,
|
||||
"gz_tsgcsshshu" int4,
|
||||
"gz_tsgcssmj" float8,
|
||||
"gz_tsgzjtsjcshu" int4,
|
||||
"gz_tsgdztsjcshu" int4,
|
||||
"gz_tsglsyysrshu" int4,
|
||||
"gz_tsglsyysmj" float8,
|
||||
"gz_tsgsyysrshu" int4,
|
||||
"gz_tsgsyysmj" float8,
|
||||
"gz_tsgdzyysrshu" int4,
|
||||
"gz_tsgdzyysmj" float8,
|
||||
"gz_xldfshshu" int4,
|
||||
"gz_xldfsmj" float8,
|
||||
"gz_wsrshu" int4,
|
||||
"gz_wsrmj" float8,
|
||||
"gz_tjsjjsshu" int4,
|
||||
"gz_tjsjjsmj" float8,
|
||||
"gz_qdljtrshshu" int4,
|
||||
"gz_qdljtrmj" float8,
|
||||
"gz_lsjtrshshu" int4,
|
||||
"gz_lsjtrmj" float8,
|
||||
"gz_hjddjzsks" int4,
|
||||
"gz_hjddwjzsks" int4,
|
||||
"gz_hjddjzgnqshu" int4,
|
||||
"gz_hjddwjzgnqshu" int4,
|
||||
"bureau_id" char(36) COLLATE "pg_catalog"."default" NOT NULL,
|
||||
"bureau_name" varchar(255) COLLATE "pg_catalog"."default",
|
||||
"area_id" char(36) COLLATE "pg_catalog"."default",
|
||||
"area_name" varchar(255) COLLATE "pg_catalog"."default",
|
||||
"year" int4 NOT NULL
|
||||
)
|
||||
;
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."xx_kxsysshshu" IS '小学科学实验室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."xx_kxsysjsny" IS '小学科学实验室建设年份';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."xx_kxsysmj" IS '小学科学实验室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."xx_kxqqrshshu" IS '小学科学仪器室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."xx_kxqqrsmj" IS '小学科学仪器室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."xx_kxzbrshshu" IS '小学科学准备室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."xx_kxzbrsmj" IS '小学科学准备室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."xx_yqjtrshshu" IS '小学音乐教室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."xx_yqjtrmj" IS '小学音乐教室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."xx_yqqjkkjshu" IS '小学音乐器材库间数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."xx_tygyshshu" IS '小学体育体育馆数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."xx_tyqjkkjshu" IS '小学体育器材库间数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."xx_msjtrshshu" IS '小学美术教室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."xx_msjtrmj" IS '小学美术教室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."xx_msqjkkjshu" IS '小学美术器材库间数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."xx_msfsjtrshshu" IS '小学美术书法教室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."xx_msfsjtrmj" IS '小学美术书法教室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."xx_ldjyqlhwsrshu" IS '小学劳动教育清洁与卫生室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."xx_ldjyzyhwsrshu" IS '小学劳动教育整理与收纳室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."xx_ldjyprwywsrshu" IS '小学劳动教育烹饪与营养室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."xx_ldjyjyqyqsyyh" IS '小学劳动教育家用器具使用与维护';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."xx_ldjynyscld" IS '小学劳动教育农业生产劳动';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."xx_ldjyccgyz" IS '小学劳动教育传统工艺制作';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."xx_tsgcsshshu" IS '小学图书馆藏书室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."xx_tsgcssmj" IS '小学图书馆藏书室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."xx_tsgzjtsjcshu" IS '小学图书馆纸质图书册数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."xx_tsgdztsjcshu" IS '小学图书馆电子图书册数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."xx_tsglsyysrshu" IS '小学图书馆教师阅览室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."xx_tsglsyysmj" IS '小学图书馆教师阅览室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."xx_tsgsyysrshu" IS '小学图书馆学生阅览室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."xx_tsgsyysmj" IS '小学图书馆学生阅览室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."xx_tsgdzyysrshu" IS '小学图书馆电子阅览室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."xx_tsgdzyysmj" IS '小学图书馆电子阅览室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."xx_xldfshshu" IS '小学心理辅导室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."xx_xldfsmj" IS '小学心理辅导室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."xx_wsrshu" IS '小学卫生室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."xx_wsrmj" IS '小学卫生室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."xx_hjddjzsks" IS '小学护眼灯已改造教室数量';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."xx_hjddwjzsks" IS '小学护眼灯未改造教室数量';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."xx_hjddjzgnqshu" IS '小学护眼灯已改造功能室数量';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."xx_hjddwjzgnqshu" IS '小学护眼灯未改造功能室数量';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_wllshshshu" IS '初中物理实验室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_wllsysjsny" IS '初中物理实验室建设年份';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_wllsmj" IS '初中物理实验室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_wllyqshshu" IS '初中物理仪器室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_wllyqsmj" IS '初中物理仪器室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_wllzbrshshu" IS '初中物理准备室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_wllzbrsmj" IS '初中物理准备室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_wltgsmjshshu" IS '初中物理探究实验室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_wltgsmjmj" IS '初中物理探究实验室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_hxlshshshu" IS '初中化学实验室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_hxsysjsny" IS '初中化学实验室建设年份';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_hxsysmj" IS '初中化学实验室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_hxyqshshu" IS '初中化学仪器室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_hxyqsmj" IS '初中化学仪器室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_hxzbrshshu" IS '初中化学准备室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_hxzbrsmj" IS '初中化学准备室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_hxtgsmjshshu" IS '初中化学探究实验室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_hxtgsmjmj" IS '初中化学探究实验室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_swlshshshu" IS '初中生物实验室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_swlsysjsny" IS '初中生物实验室建设年份';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_swlsmj" IS '初中生物实验室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_swyqshshu" IS '初中生物仪器室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_swyqsmj" IS '初中生物仪器室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_swzbrshshu" IS '初中生物准备室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_swzbrsmj" IS '初中生物准备室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_swtgsmjshshu" IS '初中生物探究实验室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_swtgsmjmj" IS '初中生物探究实验室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_yqjtrshshu" IS '初中音乐教室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_yqjtrmj" IS '初中音乐教室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_yqqjkkjshu" IS '初中音乐器材库间数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_tygyshshu" IS '初中体育体育馆数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_tyqjkkjshu" IS '初中体育器材库间数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_msjtrshshu" IS '初中美术教室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_msjtrmj" IS '初中美术教室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_msqjkkjshu" IS '初中美术器材库间数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_msfsjtrshshu" IS '初中美术书法教室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_msfsjtrmj" IS '初中美术书法教室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_ldjyqlhwsrshu" IS '初中劳动教育清洁与卫生室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_ldjyzyhwsrshu" IS '初中劳动教育整理与收纳室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_ldjyprwywsrshu" IS '初中劳动教育烹饪与营养室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_ldjyjyqyqsyyh" IS '初中劳动教育家用器具使用与维护';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_ldjynyscld" IS '初中劳动教育农业生产劳动';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_ldjyccgyz" IS '初中劳动教育传统工艺制作';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_tsgcsshshu" IS '初中图书馆藏书室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_tsgcssmj" IS '初中图书馆藏书室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_tsgzjtsjcshu" IS '初中图书馆纸质图书册数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_tsgdztsjcshu" IS '初中图书馆电子图书册数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_tsglsyysrshu" IS '初中图书馆教师阅览室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_tsglsyysmj" IS '初中图书馆教师阅览室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_tsgsyysrshu" IS '初中图书馆学生阅览室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_tsgsyysmj" IS '初中图书馆学生阅览室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_tsgdzyysrshu" IS '初中图书馆电子阅览室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_tsgdzyysmj" IS '初中图书馆电子阅览室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_xldfshshu" IS '初中心理辅导室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_xldfsmj" IS '初中心理辅导室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_wsrshu" IS '初中卫生室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_wsrmj" IS '初中卫生室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_qdljtrshshu" IS '初中其他地理教室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_qdljtrmj" IS '初中其他地理教室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_lsjtrshshu" IS '初中其他历史教室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_lsjtrmj" IS '初中其他历史教室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_hjddjzsks" IS '初中护眼灯已改造教室数量';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_hjddwjzsks" IS '初中护眼灯未改造教室数量';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_hjddjzgnqshu" IS '初中护眼灯已改造功能室数量';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."cz_hjddwjzgnqshu" IS '初中护眼灯未改造功能室数量';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_wllshshshu" IS '高中物理实验室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_wllsysjsny" IS '高中物理实验室建设年份';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_wllsmj" IS '高中物理实验室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_wllyqshshu" IS '高中物理仪器室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_wllyqsmj" IS '高中物理仪器室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_wllzbrshshu" IS '高中物理准备室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_wllzbrsmj" IS '高中物理准备室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_wltgsmjshshu" IS '高中物理探究实验室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_wltgsmjmj" IS '高中物理探究实验室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_hxlshshshu" IS '高中化学实验室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_hxsysjsny" IS '高中化学实验室建设年份';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_hxsysmj" IS '高中化学实验室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_hxyqshshu" IS '高中化学仪器室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_hxyqsmj" IS '高中化学仪器室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_hxzbrshshu" IS '高中化学准备室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_hxzbrsmj" IS '高中化学准备室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_hxtgsmjshshu" IS '高中化学探究实验室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_hxtgsmjmj" IS '高中化学探究实验室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_swlshshshu" IS '高中生物实验室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_swlsysjsny" IS '高中生物实验室建设年份';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_swlsmj" IS '高中生物实验室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_swyqshshu" IS '高中生物仪器室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_swyqsmj" IS '高中生物仪器室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_swzbrshshu" IS '高中生物准备室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_swzbrsmj" IS '高中生物准备室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_swtgsmjshshu" IS '高中生物探究实验室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_swtgsmjmj" IS '高中生物探究实验室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_yqjtrshshu" IS '高中音乐教室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_yqjtrmj" IS '高中音乐教室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_yqqjkkjshu" IS '高中音乐器材库间数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_tygyshshu" IS '高中体育体育馆数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_tyqjkkjshu" IS '高中体育器材库间数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_msjtrshshu" IS '高中美术教室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_msjtrmj" IS '高中美术教室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_msqjkkjshu" IS '高中美术器材库间数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_tsgcsshshu" IS '高中图书馆藏书室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_tsgcssmj" IS '高中图书馆藏书室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_tsgzjtsjcshu" IS '高中图书馆纸质图书册数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_tsgdztsjcshu" IS '高中图书馆电子图书册数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_tsglsyysrshu" IS '高中图书馆教师阅览室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_tsglsyysmj" IS '高中图书馆教师阅览室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_tsgsyysrshu" IS '高中图书馆学生阅览室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_tsgsyysmj" IS '高中图书馆学生阅览室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_tsgdzyysrshu" IS '高中图书馆电子阅览室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_tsgdzyysmj" IS '高中图书馆电子阅览室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_xldfshshu" IS '高中心理辅导室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_xldfsmj" IS '高中心理辅导室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_wsrshu" IS '高中卫生室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_wsrmj" IS '高中卫生室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_tjsjjsshu" IS '高中通用技术教室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_tjsjjsmj" IS '高中通用技术教室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_qdljtrshshu" IS '高中其他地理教室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_qdljtrmj" IS '高中其他地理教室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_lsjtrshshu" IS '高中其他历史教室室数';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_lsjtrmj" IS '高中其他历史教室面积';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_hjddjzsks" IS '高中护眼灯已改造教室数量';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_hjddwjzsks" IS '高中护眼灯未改造教室数量';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_hjddjzgnqshu" IS '高中护眼灯已改造功能室数量';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."gz_hjddwjzgnqshu" IS '高中护眼灯未改造功能室数量';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."bureau_id" IS '单位ID';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."bureau_name" IS '单位名称';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."area_id" IS '区域ID';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."area_name" IS '区域名称';
|
||||
COMMENT ON COLUMN "public"."t_zbdc_bureau_cgzb"."year" IS '年份';
|
||||
|
||||
-- ----------------------------
|
||||
-- Primary Key structure for table t_zbdc_bureau_cgzb
|
||||
-- ----------------------------
|
||||
ALTER TABLE "public"."t_zbdc_bureau_cgzb" ADD CONSTRAINT "t_zbdc_bureau_cgzb_pkey1" PRIMARY KEY ("bureau_id", "year");
|
@ -1,69 +0,0 @@
|
||||
package Tools.SyncData.ElasticSearchSample;
|
||||
|
||||
import co.elastic.clients.elasticsearch.ElasticsearchClient;
|
||||
import co.elastic.clients.elasticsearch.core.*;
|
||||
import co.elastic.clients.elasticsearch.core.bulk.BulkResponseItem;
|
||||
import co.elastic.clients.elasticsearch.core.search.Hit;
|
||||
import co.elastic.clients.elasticsearch.indices.CreateIndexResponse;
|
||||
import co.elastic.clients.json.jackson.JacksonJsonpMapper;
|
||||
import co.elastic.clients.transport.ElasticsearchTransport;
|
||||
import co.elastic.clients.transport.endpoints.BooleanResponse;
|
||||
import co.elastic.clients.transport.rest_client.RestClientTransport;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.dsideal.QingLong.Util.CommonUtil;
|
||||
import com.jfinal.kit.PathKit;
|
||||
import org.apache.http.HttpHost;
|
||||
import org.elasticsearch.client.RestClient;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileReader;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class ElasticSearchQuery {
|
||||
public static void main(String[] args) throws IOException {
|
||||
String serverUrl = "http://10.10.14.73:9200";
|
||||
String indexName = "huanghai";
|
||||
|
||||
RestClient restClient = RestClient.builder(HttpHost.create(serverUrl)).build();
|
||||
ElasticsearchTransport transport = new RestClientTransport(restClient, new JacksonJsonpMapper());
|
||||
ElasticsearchClient esClient = new ElasticsearchClient(transport);
|
||||
|
||||
//查询
|
||||
SearchResponse<Map> searchResponse = esClient.search(s -> s
|
||||
.index(indexName)
|
||||
.query(q -> q
|
||||
.match(t -> t
|
||||
.field("age")
|
||||
.query(30)
|
||||
)
|
||||
)
|
||||
.size(3), Map.class
|
||||
);
|
||||
//System.out.println(searchResponse);
|
||||
// 命中数量
|
||||
System.out.println(searchResponse.hits().total().value());
|
||||
// 第一个分页的数据
|
||||
for (Hit<Map> hit : searchResponse.hits().hits()) {
|
||||
System.out.println(hit.source());
|
||||
}
|
||||
|
||||
//聚合
|
||||
searchResponse = esClient.search(s -> s
|
||||
.index(indexName)
|
||||
.aggregations("age-histogram", a -> a.terms(h -> h
|
||||
.field("age")
|
||||
)
|
||||
)
|
||||
.size(0), Map.class
|
||||
);
|
||||
JSONObject jo = JSONObject.parseObject(searchResponse.aggregations().get("age-histogram").toString().replace("Aggregate: ", ""));
|
||||
System.out.println(jo.getJSONArray("buckets"));
|
||||
|
||||
//关闭客户端
|
||||
restClient.close();
|
||||
}
|
||||
}
|
@ -1,42 +0,0 @@
|
||||
package Tools.SyncData.ElasticSearchSample;
|
||||
|
||||
import co.elastic.clients.elasticsearch.ElasticsearchClient;
|
||||
import co.elastic.clients.elasticsearch.core.SearchResponse;
|
||||
import co.elastic.clients.elasticsearch.core.search.Hit;
|
||||
import co.elastic.clients.json.jackson.JacksonJsonpMapper;
|
||||
import co.elastic.clients.transport.ElasticsearchTransport;
|
||||
import co.elastic.clients.transport.rest_client.RestClientTransport;
|
||||
import org.apache.http.HttpHost;
|
||||
import org.elasticsearch.client.RestClient;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Map;
|
||||
|
||||
public class ElasticSearchQueryStudent {
|
||||
public static void main(String[] args) throws IOException {
|
||||
String serverUrl = "http://10.10.14.73:9200";
|
||||
String indexName = "huanghai";
|
||||
|
||||
RestClient restClient = RestClient.builder(HttpHost.create(serverUrl)).build();
|
||||
ElasticsearchTransport transport = new RestClientTransport(restClient, new JacksonJsonpMapper());
|
||||
ElasticsearchClient esClient = new ElasticsearchClient(transport);
|
||||
|
||||
//查询
|
||||
SearchResponse<Map> searchResponse = esClient.search(s -> s
|
||||
.index(indexName)
|
||||
.query(q -> q
|
||||
.bool(b -> b.must(m -> m.term(t -> t.field("student_name").value("白鹏鹏"))))
|
||||
)
|
||||
.size(10), Map.class
|
||||
);
|
||||
// 命中数量
|
||||
System.out.println(searchResponse.hits().total().value());
|
||||
// 第一个分页的数据
|
||||
for (Hit<Map> hit : searchResponse.hits().hits()) {
|
||||
System.out.println(hit.source());
|
||||
}
|
||||
|
||||
//关闭客户端
|
||||
restClient.close();
|
||||
}
|
||||
}
|
@ -1,126 +0,0 @@
|
||||
package Tools.SyncData.ElasticSearchSample;
|
||||
|
||||
import co.elastic.clients.elasticsearch.ElasticsearchClient;
|
||||
import co.elastic.clients.elasticsearch.core.*;
|
||||
import co.elastic.clients.elasticsearch.core.bulk.BulkResponseItem;
|
||||
import co.elastic.clients.elasticsearch.indices.CreateIndexResponse;
|
||||
import co.elastic.clients.json.jackson.JacksonJsonpMapper;
|
||||
import co.elastic.clients.transport.ElasticsearchTransport;
|
||||
import co.elastic.clients.transport.endpoints.BooleanResponse;
|
||||
import co.elastic.clients.transport.rest_client.RestClientTransport;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.dsideal.QingLong.Util.CommonUtil;
|
||||
import com.jfinal.kit.PathKit;
|
||||
import org.apache.http.HttpHost;
|
||||
import org.elasticsearch.client.RestClient;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileReader;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class ElasticSearchWrite {
|
||||
public static void main(String[] args) throws IOException {
|
||||
String serverUrl = "http://10.10.14.73:9200";
|
||||
String indexName = "huanghai";
|
||||
String createDsl = PathKit.getRootClassPath() + "/ElasticSearch/huanghai_create.json";
|
||||
|
||||
RestClient restClient = RestClient.builder(HttpHost.create(serverUrl)).build();
|
||||
ElasticsearchTransport transport = new RestClientTransport(restClient, new JacksonJsonpMapper());
|
||||
ElasticsearchClient esClient = new ElasticsearchClient(transport);
|
||||
|
||||
// 判断是否已经存在
|
||||
BooleanResponse exists = esClient.indices().exists(r -> r.index(indexName));
|
||||
if (exists.value()) {
|
||||
// 删除表
|
||||
esClient.indices().delete(d -> d.index(indexName));
|
||||
CommonUtil.log("删除" + indexName + "成功!");
|
||||
}
|
||||
|
||||
// 创建表
|
||||
File file = new File(createDsl);
|
||||
FileReader fileReader = new FileReader(file);
|
||||
CreateIndexResponse indexResponse = esClient.indices().create(c -> c.index(indexName).withJson(fileReader));
|
||||
System.out.println(indexResponse);
|
||||
CommonUtil.log("创建" + indexName + "成功!");
|
||||
|
||||
//单条插入
|
||||
Map<String, Object> _map = new HashMap<>();
|
||||
_map.put("id", 1);
|
||||
_map.put("name", "黄海");
|
||||
_map.put("age", 30);
|
||||
IndexResponse respSingleInsert = esClient.index(i -> i.index(indexName).id(_map.get("id").toString()).document(_map));
|
||||
System.out.println(respSingleInsert);
|
||||
|
||||
//单条查询
|
||||
GetResponse<Map> respSingleQuery = esClient.get(g -> g.index(indexName).id(_map.get("id").toString()), Map.class);
|
||||
if (respSingleQuery.found()) {
|
||||
Map staff = respSingleQuery.source();
|
||||
System.out.println(JSON.toJSONString(staff));
|
||||
}
|
||||
// 更新单条
|
||||
Map<String, Object> _mapUpdate = new HashMap<>();
|
||||
_mapUpdate.put("name", "张三");
|
||||
UpdateResponse<Map> resp2 = esClient.update(u -> u.index(indexName).id(_map.get("id").toString()).doc(_mapUpdate), Map.class);
|
||||
System.out.println(resp2);
|
||||
|
||||
//单条查询
|
||||
respSingleQuery = esClient.get(g -> g.index(indexName).id(_map.get("id").toString()), Map.class);
|
||||
if (respSingleQuery.found()) {
|
||||
Map staff = respSingleQuery.source();
|
||||
System.out.println(JSON.toJSONString(staff));
|
||||
}
|
||||
|
||||
// 单条删除
|
||||
esClient.delete(d -> d.index(indexName).id(_map.get("id").toString()));
|
||||
|
||||
//单条查询
|
||||
respSingleQuery = esClient.get(g -> g.index(indexName).id(_map.get("id").toString()), Map.class);
|
||||
if (respSingleQuery.found()) {
|
||||
Map staff = respSingleQuery.source();
|
||||
System.out.println(JSON.toJSONString(staff));
|
||||
} else {
|
||||
System.out.println("没有找记录!");
|
||||
}
|
||||
|
||||
// 批量插入数据
|
||||
ArrayList<Map> list = new ArrayList<>();
|
||||
for (int i = 1; i <= 10000; i++) {
|
||||
Map _map3 = new HashMap();
|
||||
_map3.put("id", i);
|
||||
_map3.put("name", "黄海" + i);
|
||||
int age = 20;
|
||||
if (i % 2 == 0) age = 30;
|
||||
_map3.put("age", age);
|
||||
list.add(_map3);
|
||||
}
|
||||
// 处理数据并保存
|
||||
BulkRequest.Builder br = new BulkRequest.Builder();
|
||||
for (Map staff : list) {
|
||||
br.operations(op -> op
|
||||
.index(idx -> idx
|
||||
.index(indexName)
|
||||
.id(staff.get("id").toString())
|
||||
.document(staff)
|
||||
)
|
||||
);
|
||||
}
|
||||
BulkResponse result = esClient.bulk(br.build());
|
||||
|
||||
// 判断结果
|
||||
if (result.errors()) {
|
||||
System.out.println("Bulk had errors");
|
||||
for (BulkResponseItem item : result.items()) {
|
||||
if (item.error() != null) {
|
||||
System.out.println(item.error().reason());
|
||||
}
|
||||
}
|
||||
} else {
|
||||
System.out.println("批量添加成功");
|
||||
}
|
||||
//关闭客户端
|
||||
restClient.close();
|
||||
}
|
||||
}
|
@ -1,31 +0,0 @@
|
||||
package Tools.SyncData.ElasticSearchSample;
|
||||
|
||||
import Tools.SyncData.Util.ElasticSearchUtil;
|
||||
import cn.hutool.core.io.FileUtil;
|
||||
import com.dsideal.QingLong.Util.CommonUtil;
|
||||
import com.jfinal.kit.PropKit;
|
||||
import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
|
||||
import com.jfinal.plugin.activerecord.dialect.PostgreSqlDialect;
|
||||
import com.jfinal.plugin.hikaricp.HikariCpPlugin;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
public class GetCreateDsl {
|
||||
public static void Init() {
|
||||
PropKit.use("application.properties");
|
||||
HikariCpPlugin masterCP = CommonUtil.createHikariCpPlugin(PropKit.get("jdbcUrl"), PropKit.get("user"), PropKit.get("password").trim(), PropKit.get("driverClassName"));
|
||||
masterCP.start();
|
||||
ActiveRecordPlugin masterArp = new ActiveRecordPlugin("master", masterCP);
|
||||
masterArp.setDevMode(false);
|
||||
masterArp.setDialect(new PostgreSqlDialect());
|
||||
masterArp.start();
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
Init();
|
||||
String table_name = "t_hk_student";
|
||||
String dsl = ElasticSearchUtil.getCreateDsl(table_name);
|
||||
System.out.println(dsl);
|
||||
FileUtil.writeUtf8String(dsl, new File("c:/" + table_name + ".json"));
|
||||
}
|
||||
}
|
@ -1,148 +0,0 @@
|
||||
package Tools.SyncData;
|
||||
|
||||
import Tools.SyncData.Util.ElasticSearchUtil;
|
||||
import cn.hutool.core.io.FileUtil;
|
||||
import co.elastic.clients.elasticsearch.ElasticsearchClient;
|
||||
import co.elastic.clients.elasticsearch.core.BulkRequest;
|
||||
import co.elastic.clients.elasticsearch.indices.CreateIndexResponse;
|
||||
import co.elastic.clients.json.jackson.JacksonJsonpMapper;
|
||||
import co.elastic.clients.transport.ElasticsearchTransport;
|
||||
import co.elastic.clients.transport.endpoints.BooleanResponse;
|
||||
import co.elastic.clients.transport.rest_client.RestClientTransport;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.dsideal.QingLong.Util.CommonUtil;
|
||||
import com.jfinal.kit.PathKit;
|
||||
import com.jfinal.kit.PropKit;
|
||||
import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
|
||||
import com.jfinal.plugin.activerecord.dialect.PostgreSqlDialect;
|
||||
import com.jfinal.plugin.hikaricp.HikariCpPlugin;
|
||||
import org.apache.http.HttpHost;
|
||||
import org.apache.kafka.clients.consumer.ConsumerConfig;
|
||||
import org.apache.kafka.clients.consumer.ConsumerRecord;
|
||||
import org.apache.kafka.clients.consumer.ConsumerRecords;
|
||||
import org.apache.kafka.clients.consumer.KafkaConsumer;
|
||||
import org.apache.kafka.common.TopicPartition;
|
||||
import org.apache.kafka.common.serialization.StringDeserializer;
|
||||
import org.elasticsearch.client.RestClient;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileReader;
|
||||
import java.io.IOException;
|
||||
import java.text.ParseException;
|
||||
import java.time.Duration;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
|
||||
public class KafkaToElasticSearch {
|
||||
protected static Properties initConfig() {
|
||||
Properties props = new Properties();
|
||||
props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, PropKit.get("kafka_ip") + ":" + PropKit.get("kafka_port"));
|
||||
props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName());
|
||||
props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName());
|
||||
props.put(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, "false");
|
||||
props.put(ConsumerConfig.GROUP_ID_CONFIG, PropKit.get("kafka_GROUP_ID_CONFIG"));
|
||||
props.put(ConsumerConfig.CLIENT_ID_CONFIG, PropKit.get("kafka_CLIENT_ID_CONFIG"));
|
||||
props.put(ConsumerConfig.AUTO_COMMIT_INTERVAL_MS_CONFIG, "1000");
|
||||
props.put(ConsumerConfig.HEARTBEAT_INTERVAL_MS_CONFIG, 1000);
|
||||
props.put(ConsumerConfig.SESSION_TIMEOUT_MS_CONFIG, 10 * 1000);
|
||||
props.put(ConsumerConfig.MAX_POLL_RECORDS_CONFIG, 100);
|
||||
props.put(ConsumerConfig.MAX_POLL_INTERVAL_MS_CONFIG, 30 * 1000);
|
||||
props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName());
|
||||
props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName());
|
||||
return props;
|
||||
}
|
||||
|
||||
private static ElasticsearchClient esClient;
|
||||
private static String indexName;
|
||||
|
||||
public static void WriteToEs(ArrayList<Map> list) throws IOException {
|
||||
// 处理数据并保存
|
||||
BulkRequest.Builder br = new BulkRequest.Builder();
|
||||
for (Map _map : list) {
|
||||
br.operations(op -> op
|
||||
.index(idx -> idx
|
||||
.index(indexName)
|
||||
.id(_map.get("id").toString())
|
||||
.document(_map)
|
||||
)
|
||||
);
|
||||
}
|
||||
esClient.bulk(br.build());
|
||||
//不加这句打数据有丢失
|
||||
esClient.indices().flush();
|
||||
}
|
||||
|
||||
public static void main(String[] args) throws ParseException, IOException {
|
||||
//配置连接
|
||||
PropKit.use("syncData.properties");
|
||||
indexName = PropKit.get("indexName");
|
||||
String serverUrl = PropKit.get("serverUrl");
|
||||
String TOPIC_NAME = PropKit.get("kafka_topic_name");
|
||||
|
||||
//数据库
|
||||
HikariCpPlugin hp = CommonUtil.createHikariCpPlugin(PropKit.get("jdbcUrl"), PropKit.get("user"), PropKit.get("password").trim(), PropKit.get("driverClassName"));
|
||||
hp.start();
|
||||
ActiveRecordPlugin arp = new ActiveRecordPlugin("master", hp);
|
||||
arp.setDevMode(false);
|
||||
arp.setDialect(new PostgreSqlDialect());
|
||||
arp.start();
|
||||
|
||||
//根据t_hk_student创建一个index
|
||||
String table_name = "t_hk_student";
|
||||
String dsl = ElasticSearchUtil.getCreateDsl(table_name);
|
||||
File fi = new File(PathKit.getRootClassPath() + "/" + table_name + ".json");
|
||||
FileUtil.writeUtf8String(dsl, fi);
|
||||
|
||||
//构建EsClient
|
||||
RestClient restClient = RestClient.builder(HttpHost.create(serverUrl)).build();
|
||||
ElasticsearchTransport transport = new RestClientTransport(restClient, new JacksonJsonpMapper());
|
||||
esClient = new ElasticsearchClient(transport);
|
||||
|
||||
// 判断是否已经存在
|
||||
BooleanResponse exists = esClient.indices().exists(r -> r.index(indexName));
|
||||
if (exists.value()) {
|
||||
// 删除表
|
||||
esClient.indices().delete(d -> d.index(indexName));
|
||||
CommonUtil.log("删除index = " + indexName + "成功!");
|
||||
}
|
||||
|
||||
// 创建表
|
||||
FileReader fileReader = new FileReader(fi);
|
||||
CreateIndexResponse indexResponse = esClient.indices().create(c -> c.index(indexName).withJson(fileReader));
|
||||
System.out.println(indexResponse);
|
||||
CommonUtil.log("创建" + indexName + "成功!");
|
||||
|
||||
//构建Kafka
|
||||
KafkaConsumer<String, String> consumer = new KafkaConsumer<>(initConfig());
|
||||
|
||||
// 消费指定分区
|
||||
consumer.assign(Arrays.asList(new TopicPartition(TOPIC_NAME, 0)));
|
||||
|
||||
//消息回溯消费
|
||||
consumer.assign(Arrays.asList(new TopicPartition(TOPIC_NAME, 0)));
|
||||
consumer.seekToBeginning(Arrays.asList(new TopicPartition(TOPIC_NAME, 0)));
|
||||
|
||||
while (true) {
|
||||
ConsumerRecords<String, String> records = consumer.poll(Duration.ofMillis(100));
|
||||
|
||||
if (records.count() > 0) {
|
||||
ArrayList<Map> list = new ArrayList<>();
|
||||
for (ConsumerRecord<String, String> record : records) {
|
||||
Map<String, Object> _map = JSON.parseObject(record.value(), Map.class);
|
||||
list.add(_map);
|
||||
}
|
||||
//写入ElasticSearch
|
||||
WriteToEs(list);
|
||||
consumer.commitAsync((offsets, exception) -> {
|
||||
if (exception != null) {
|
||||
System.err.println("Commit failed exception: " + exception.getStackTrace());
|
||||
} else {
|
||||
CommonUtil.log("成功写入数据" + records.count() + "条!");
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
#namespace("Hk")
|
||||
#sql("schoolListStudent")
|
||||
select id,kjh,student_name,hk_code,xb,xjh,sfzh
|
||||
from t_hk_student where school_code=#para(school_code)
|
||||
and (student_name like #para(keyword, "like")
|
||||
or sfzh like #para(keyword, "like")
|
||||
or kjh like #para(keyword, "like")
|
||||
)
|
||||
order by id
|
||||
#end
|
||||
#end
|
Loading…
Reference in new issue