Java项目初始化ES、MYSQL表结构及表数据
一、初始化MYSQL数据
public boolean initMysql() throws Exception {log.info("initMysql.start");//获取所连接的数据库名称 String database = systemMapper.getDatabase();if (StringUtils.isBlank(database)) {throw new BusinessException("连接数据库失败,数据库不存在");}//当库中没有表、则执行sql脚本if (systemMapper.countTable(database) == 0) {SqlSession sqlSession = sqlSessionFactory.openSession();Connection conn = sqlSession.getConnection();String mysqlInitPath="config/mysql/init.sql";ClassPathResource rc = new ClassPathResource(mysqlInitPath);EncodedResource er = new EncodedResource(rc, "utf-8");ScriptUtils.executeSqlScript(conn, er);log.info("initMysql.db:" + database + ".end");}log.info("initMysql.end");return true;
}
其中SystemMapper为
@Mapper
public interface SystemMapper {//获得当前数据库表的数量@Select("select count(*) from information_schema.TABLES where TABLE_SCHEMA= #{schema}")int countTable(@Param("schema")String schema);//===获得当前连接的数据库名称@Select("select database()")String getDatabase();
}
二、初始化ES数据
public boolean initEs() throws Exception {log.info("initEs.start");// 读取配置String artInfoMappingPath =config/es/art_info_index_mapping.jsonString artInfoMapping = ResourceUtil.readStr(artInfoMappingPath, StandardCharsets.UTF_8);// 创建博文索引String esIndex="wechat"createIndexIfNotExist(esIndex, artInfoMapping);// 创建别名String alias="art_info";addAlias(alias, esIndex); return true;
}
如果索引不存在就创建es索引
private void createIndexIfNotExist(String index, String mapping) {// 判断索引存不存在if (StrUtil.isBlank(index) || esAggregateService.indexExist(index)) {return;}log.info("initEs --> index: {}", index);// 创建索引CreateIndexRequest request = new CreateIndexRequest(index);Settings.Builder settings = Settings.builder().put("max_result_window", 100000);request.settings(settings);request.mapping(mapping, XContentType.JSON);createIndex(request);}
public void createIndex(CreateIndexRequest request) {try {CreateIndexResponse response = elasticSearchClient.indices().create(request, RequestOptions.DEFAULT);log.info("create index: {}, isAcknowledged: {}", response.index(), response.isAcknowledged());} catch (IOException e) {log.error("ES 索引创建失败 --> ", e);throw new BusinessException(ResultCode.INTERNAL_SERVER_ERROR);}
}
根据需要、添加es别名
@Override
public void addAlias(String alias, String... index) {// 构建请求参数IndicesAliasesRequest indicesAliasesRequest = new IndicesAliasesRequest();IndicesAliasesRequest.AliasActions aliasActions = new IndicesAliasesRequest.AliasActions(IndicesAliasesRequest.AliasActions.Type.ADD).indices(index).alias(alias);indicesAliasesRequest.addAliasAction(aliasActions);try {AcknowledgedResponse response = elasticSearchClient.indices().updateAliases(indicesAliasesRequest, RequestOptions.DEFAULT);log.info("add alias --> index: {}, alias: {}, isAcknowledged: {}", index, alias, response.isAcknowledged());} catch (IOException e) {log.error("ES 别名创建失败 --> ", e);throw new BusinessException(ResultCode.INTERNAL_SERVER_ERROR);}
}
相关文章:
Java项目初始化ES、MYSQL表结构及表数据
一、初始化MYSQL数据 public boolean initMysql() throws Exception {log.info("initMysql.start");//获取所连接的数据库名称String database systemMapper.getDatabase();if (StringUtils.isBlank(database)) {throw new BusinessException("连接数据库失败,…...
2023-08-13力扣每日一题
链接: 88. 合并两个有序数组 题意: 如题 解: 从后往前(从大到小)插入排序,这样就不会影响原先的有序性 实际代码: #include<bits/stdc.h> using namespace std; void merge(vector…...
下一代深度学习的思考与若干问题
下一代深度学习的思考和若干问题...
【Linux】IP协议——网络层
目录 IP协议 基本概念 IP协议格式 分片与组装 网段划分 特殊的IP地址 IP地址的数量限制 私网IP地址和公网IP地址 路由 路由表生成算法 IP协议 IP协议全称为“网际互连协议(Internet Protocol)”,IP协议是TCP/IP体系中的网络层协议…...
【CSS学习笔记】
学习内容 1.css是什么 2.CSS怎么用(快速入门) 3.CSS选择器(重点 难点) 4.美化页面(文字、阴影、超链接、列表、渐变…) 5.盒子模型 6.浮动 7.定位 8.网页动画(特效) 1.什么是CSS C…...
2023-arxiv-LLaMA: Open and Efficient Foundation Language Models
开放和高效的基础语言模型 Paper:https://arxiv.org/abs/2302.13971 Code: https://github.com/facebookresearch/llama 摘要 本文介绍了 LLaMA,这是⼀个包含 7B 到 65B 参数的基础语⾔模型的集合。作者在数万亿个令牌上训练模型,并表明可以…...
Ctfshow web入门 XXE 模板注入篇 web373-web378 详细题解 全
CTFshow XXE web373 学习资料: (梭哈~) https://www.cnblogs.com/20175211lyz/p/11413335.html https://www.cnblogs.com/zhaijiahui/p/9147595.html https://www.cnblogs.com/r00tuser/p/7255939.html https://mp.weixin.qq.com/s?__bizMz…...
小内存嵌入式设备软件的差分升级设计(学习)
摘要 提出一种改进HDiffPatch算法并在复旦微单片机上实现小内存差分升级的方案,即使用单片机内的Flash空间替代算法占用的RAM空间,从而减少算法对单片机RAM空间的需求,以满足小内存微处理器的差分升级,同时对算法内存分配释放函数…...
小程序具体开发
window 导航栏 属性名类型默认值作用navigationBarTitleText string字字符串导航栏标题内容navigationBarBackgroundColorHexcolor#000000设置导航栏背景颜色(比如荧黄色 #ffa)navigationBarTextStylestringwhite设置导航栏标题的颜色(仅含有…...
《TCP IP网络编程》第十六章
第 16 章 关于 I/O 流分离的其他内容 16.1 分离 I/O 流 「分离 I/O 流」是一种常用表达。有 I/O 工具可区分二者,无论采用哪种方法,都可以认为是分离了 I/O 流。 2次 I/O 流分离: 第一种是第 10 章的「TCP I/O 过程」分离。通 shutdown(soc…...
HTML5 基础标签
目录 前言 标题标签 段落标签 换行标签和水平线标签 文本格式化标签 图像标签 超链接标签 多媒体标签 列表标签 无序列表 有序列表 表格 合并单元格 表单 无语义的布局标签 字符实体 前言 当今互联网时代,网页是我们获取信息、交流和展示自己的重要渠…...
二、Qt的安装(Linux系统下安装Qt6过程)
一、Qt资源下载网址 网址:点击下载http://download.qt.io/ 下载:点击下载(CSDN) 二、下载二进制安装包 进入Qt资源下载网址,进入对应的资源目录,找对应系统平台的二进制安装包选择进行下载,在这这里我们选择Linux下的二…...
Python 中被忽视的核心功能
这篇文章主要介绍了一些在 Python 编程中可能被忽视的核心功能,包括默认参数、海象运算符、*args 和 **kwargs 的使用、变量交换、str 与 repr 的区别、可迭代对象的扩展解包、多个上下文管理器的使用、Python 调试器、collections.Counter 的使用、itertools 的使用…...
Java+Excel+POI+testNG基于数据驱动做一个简单的接口测试【杭州多测师_王sir】
一、创建一个apicases.xlsx放入到eclipse的resource里面,然后refresh刷新一下 二、在pom.xml文件中加入poi和testng的mvn repository、然后在eclipse的对应目录下放入features和plugins,重启eclipse就可以看到testNG了 <!--poi excel解析 --><d…...
2023.8.12号论文阅读
文章目录 TriFormer: A Multi-modal Transformer Framework For Mild Cognitive Impairment Conversion Prediction摘要本文方法实验结果 SwIPE: Efficient and Robust Medical Image Segmentation with Implicit Patch Embeddings摘要本文方法实验结果 TriFormer: A Multi-mod…...
R语言中的函数24:Combinat:combn(), permn()
介绍 combinat中的combn()和permn()函数可以得到所有的排列组合的情况 combn()函数 combn(x, m, funNULL, simplifyTRUE, …)x – 组合的向量源m – 要取的元素的数量fun – 应用于每个组合的函数(可能为空)simplify – 逻辑的,如果是FALSE,返回一个列…...
C++隐式调用和explicit关键字
隐式类型转换 #include <iostream> using namespace std;class Point { public:int x, y;Point(int x 0, int y 0): x(x), y(y) {} };void displayPoint(const Point& p) {cout << "(" << p.x << "," << p.y <&l…...
Git 清除所有本地修改
Git 清除所有本地修改 1. 上才艺 1. 上才艺 git reset --hard && git clean -dfreset 返回到某个节点,不保留修改(删除的是已跟踪的文件)clean 删除的是未跟踪的文件 谢谢...
快速获得图像中像素值的小工具
之前项目中为了做lka中获得rgb图像信息,网上大多方案是确定相关的区域然后输出像素值,这个方法太麻烦,做了一个简单的使用鼠标点击图片某区域,然后直接在终端输出该区域的像素值。下面是源码: import cv2 import matp…...
yolo数据增强
yolo数据增强 🔥 数据集说明 😂一. labelimg 😅1. labelimg数据增强2. labelimg转换为yolo数据集二. labelme 😆1. labelme 分割数据增强2. labelme分割数据集转换yolo分割数据集三. coco 数据集格式1. coco 数据集格式数据增强 并转换至labelme 格式2. coco 数据集格式…...
iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...
SQL慢可能是触发了ring buffer
简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...
Kafka入门-生产者
生产者 生产者发送流程: 延迟时间为0ms时,也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于:异步发送不需要等待结果,同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...
CSS | transition 和 transform的用处和区别
省流总结: transform用于变换/变形,transition是动画控制器 transform 用来对元素进行变形,常见的操作如下,它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...
免费数学几何作图web平台
光锐软件免费数学工具,maths,数学制图,数学作图,几何作图,几何,AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...
多元隐函数 偏导公式
我们来推导隐函数 z z ( x , y ) z z(x, y) zz(x,y) 的偏导公式,给定一个隐函数关系: F ( x , y , z ( x , y ) ) 0 F(x, y, z(x, y)) 0 F(x,y,z(x,y))0 🧠 目标: 求 ∂ z ∂ x \frac{\partial z}{\partial x} ∂x∂z、 …...
