当前位置: 首页 > news >正文

网站的后台管理员系统建设教程服务器云平台

网站的后台管理员系统建设教程,服务器云平台,网站开发php jsp,wordpress应用市场主体文章目录 SpringBoot项目引入Canal依赖配置文件项目结构设置监听类其余类、接口内容启动类实体类Controller类Mapper接口Serice接口 运行测试 开始之前请确认docker中已运行mysql与canal容器#xff0c;并完成了监听binlog配置 未完成可移步#xff1a; Docker部署Canal监听… 文章目录 SpringBoot项目引入Canal依赖配置文件项目结构设置监听类其余类、接口内容启动类实体类Controller类Mapper接口Serice接口 运行测试 开始之前请确认docker中已运行mysql与canal容器并完成了监听binlog配置 未完成可移步 Docker部署Canal监听MySQL的binlog SpringBoot项目 本次在SpringBoot整合Easy-ES实现对ES的基础操作项目基础上进行操作 此部分操作请移步SpringBoot整合Easy-ES实现对ES操作 引入Canal依赖 dependencygroupIdtop.javatool/groupIdartifactIdcanal-spring-boot-starter/artifactIdversion1.2.1-RELEASE/version/dependency配置文件 新增以下内容 注意修改server换成自己的canal地址端口号 canal:server: canal地址:11111destination: example项目结构 设置监听类 CanalTable注解是监听的表名实现EntryHandler接口 重写监听到mysql增删改操作时这里的进行自定义操作方法也都是通过Easy-ES实现 CanalTable(document) Component public class DocumentHandler implements EntryHandlerDocument {Resourceprivate IDocumentService documentService;/*** mysql中数据有新增时自动执行* param document 新增的数据*/Overridepublic void insert(Document document) {try {documentService.addData(document);} catch (Exception e) {e.printStackTrace();}}/*** mysql中数据有修改时自动执行* param before 修改前的数据* param after 修改后的数据*/Overridepublic void update(Document before, Document after) {documentService.updateData(after);}/*** mysql中数据有删除时自动执行* param document 要删除的数据*/Overridepublic void delete(Document document) {documentService.deleteData(document);} }其余类、接口内容 启动类 添加扫描ESMapper的注解指定路径 EsMapperScan(com.mine.easyEs.mapper)实体类 Data public class Document {Id/*** es中的唯一id*/private String id;/*** 文档标题*/private String title;/*** 文档内容*/private String content;/*** 创建时间*/private Date createTime; }Controller类 包括对索引操作和对数据进行操作的接口 RestController RequestMapping(/ee) RequiredArgsConstructor(onConstructor __(Autowired)) public class DocumentController {private final IDocumentService documentService;/*** 创建索引* return 结果信息* throws Exception*/GetMapping(/createIndex)public String createIndex() throws Exception {return documentService.createIndex();}/*** 删除索引* return 结果信息*/GetMapping(/deleteIndex)public String deleteIndex(){return documentService.deleteIndex();}/*** 查询ES所有数据* return 查询Document结果对象集合*/GetMapping(/findAll)public ListDocument findAll(){return documentService.findAllData();}/*** ES新增数据* param document 新增数据对象* return 结果信息* throws Exception*/GetMapping(/add)public String addData(Document document) throws Exception {return documentService.addData(document);}/*** 修改ES数据* param document 修改数据对象*/GetMapping(/update)public String updateData(Document document){return documentService.updateData(document);}/*** 根据id删除ES数据* param id 需要删除的数据的id* return*/GetMapping(/delete)public String deleteData(String id){return documentService.deleteDataById(id);}/*** 分词匹配查询content字段* param value 查询内容* return*/GetMapping(/match)public ListDocument findMatch(String value){return documentService.findMatch(value);}}Mapper接口 继承BaseMapper,整体操作都与MybatisPlus类似 public interface DocumentMapper extends BaseEsMapperDocument { }Serice接口 public interface IDocumentService {/*** 查询ES所有数据* return 查询Document结果对象集合*/ListDocument findAllData();/*** 创建索引* return 结果信息* throws Exception*/String createIndex() throws Exception;/*** 删除索引* return 结果信息*/String deleteIndex();/*** ES新增数据* param document 新增数据实体类* return 结果信息* throws Exception*/String addData(Document document) throws Exception;/*** 根据id删除ES数据* param id 需要删除的数据的id* return*/String deleteDataById(String id);String deleteData(Document document);/*** 修改ES数据* param document 修改数据对象*/String updateData(Document document);/*** 分词匹配查询content字段* param value 查询内容* return*/ListDocument findMatch(String value); } Service实现类 Service RequiredArgsConstructor(onConstructor __(Autowired)) public class DocumentServiceImpl implements IDocumentService {private final DocumentMapper documentMapper;/*** 查询ES所有数据* return 查询Document结果对象集合*/Overridepublic ListDocument findAllData() {LambdaEsQueryWrapperDocument wrapper new LambdaEsQueryWrapper();wrapper.matchAllQuery();return documentMapper.selectList(wrapper);}/*** 创建索引* return 结果信息* throws Exception*/Overridepublic String createIndex() throws Exception {StringBuilder msg new StringBuilder();String indexName Document.class.getSimpleName().toLowerCase();boolean existsIndex documentMapper.existsIndex(indexName);if (existsIndex){throw new Exception(Document实体对应索引已存在,删除索引接口deleteIndex);}boolean success documentMapper.createIndex();if (success){msg.append(Document索引创建成功);}else {msg.append(索引创建失败);}return msg.toString();}/*** 删除索引* return 结果信息*/Overridepublic String deleteIndex() {StringBuilder msg new StringBuilder();String indexName Document.class.getSimpleName().toLowerCase();if (documentMapper.deleteIndex(indexName)){msg.append(删除成功);}else {msg.append(删除失败);}return msg.toString();}/*** ES新增数据* param document 新增数据实体类* return 结果信息* throws Exception*/Overridepublic String addData(Document document) throws Exception {if (StringUtils.isEmpty(document.getTitle()) || StringUtils.isEmpty(document.getContent())) {throw new Exception(请补全title及content数据);}document.setCreateTime(new Date());documentMapper.insert(document);return Added successfully;}/*** 根据id删除ES数据* param id 需要删除的数据的id* return*/Overridepublic String deleteDataById(String id) {documentMapper.deleteById(id);return Success;}Overridepublic String deleteData(Document document) {documentMapper.deleteById(document.getId());return Success;}/*** 修改ES数据* param document 修改数据对象*/Overridepublic String updateData(Document document) {documentMapper.updateById(document);return Success;}/*** 分词匹配查询content字段* param value 查询内容* return*/Overridepublic ListDocument findMatch(String value) {LambdaEsQueryWrapperDocument wrapper new LambdaEsQueryWrapper();wrapper.match(Document::getContent,value);wrapper.orderByDesc(Document::getCreateTime);ListDocument documents documentMapper.selectList(wrapper);return documents;} }运行 可以看到正在监听只不过目前我们没有对数据库进行操作。 测试 我们在数据库新增一条数据 此时插入的这条数据被监听到了 通过测试方法查看ES中是否插入了这条数据 Testpublic void testSelect() {// 测试查询String title 3;Document document EsWrappers.lambdaChainQuery(documentMapper).eq(Document::getTitle, title).one();System.out.println(document);Assertions.assertEquals(title,document.getTitle());}查到了在mysql新插入的这条数据 数据同步成功
http://www.hkea.cn/news/14495168/

相关文章:

  • 网站建设费 什么科目wordpress 导航特效
  • 阜阳网站建设fywzjs牛什么网站建设
  • 北京企业网站建站哪家好手工制作小钱包
  • 哪个网站做汽车保养比较好网上接单 网站建设
  • 用于做网站的软件网站网络营销平台
  • 私募基金网站开发流程图哪个网站可以做销售记录仪
  • 爱星光(istar)高端网站建设成都有什么好玩的地方 排行榜
  • 重庆网站推广的网站凡科网商城充值
  • 设计网站首页步骤网站设计学的科目
  • 网站如何建设广东网站制作平台
  • 高唐做创建网站的公司各大网站热搜榜排名
  • 建设工程个人信息采集哪个网站辽宁智能建站系统价格
  • 建设摩托车是名牌吗南京网站设计优化公司
  • 做网站找模版好吗方法网站目录
  • 怎么做淘宝客网站优化wordpress发不了邮件
  • 网站图片少影响seo吗服装网站建设什么公司好
  • 网站制作技巧网站和微信公众号建设方案
  • 河北商城网站搭建多少钱静态网站开发预期效果
  • 网站底部链接怎么做自己做的网站跳转到购彩大厅
  • 万网做网站吗微信网站搭建价格
  • 网站如何被搜索到个人服务器 网站建设
  • 杭州网企业网站建设怎么制作古装视频
  • 控制台网站百度网站的目标
  • 重庆网站策划密山网站
  • 动效网站怎么做专门做外国的网站有哪些
  • dedecms企业网站模板密云重庆网站建设
  • 做php网站用mvc多吗成品短视频app的优势
  • 网站建设万户东莞路桥投资发展有限公司
  • 网站制作软件大全注册过域名后怎么建设网站
  • 驻马店怎么建设自己的网站网站百度快照