一.介绍 项目中经常会遇到分页,PageHelper为我们解决了这个问题.本质上实现了Mybatis的拦截器,作了分页处理. 二.配置PageHelper 1.引入依赖 pagehelper-spring-boot-starter对了pagehelper做了封装,减少 了配置文件,只需要在yml添加就能使用. <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelpe…
在上一篇文章(<SpringBoot(二十四)整合Redis>)中,已经实现了Spring Boot对Redis的整合,既然已经讲到Cache了,今天就介绍介绍缓存注解.各家互联网产品现在数据量越来越大,其快速增长造成网络拥塞和服务器超载,导致客户访问延迟增大,服务质量日益显现出来.缓存技术被认为是减轻服务器负载.降低网络拥塞.增强可扩展性的有效途径之一. v概念介绍 Spring为我们提供了几个注解来支持Spring Cache.其核心主要是@Cacheable和@CacheEvict.使用…
SpringBoot系列(五)Mybatis整合 目录 mybatis简介 项目创建 entity dao service serviceImpl mapper controller 1. Mybatis简介  MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordin…
SpringBoot(十二)过滤器详解 往期精彩推荐 SpringBoot系列(一)idea新建Springboot项目 SpringBoot系列(二)入门知识 springBoot系列(三)配置文件详解 SpringBoot系列(四)web静态资源配置详解 SpringBoot系列(五)Mybatis整合完整详细版 SpringBoot系列(六)集成thymeleaf详解版 Springboot系列(七) 集成接口文档swagger,使用,测试 SpringBoot系列(八)分分钟学会Spri…
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框架系列教程四(删除数据) CRL快速开发框架系列教程五(使用缓存) CRL快速开发框架系列教程六(分布式缓存解决方案) CRL快速开发框架系列教程七(使用事务) CRL快速开发框架系列教程八(使用CRL.Package) CRL快速开发框架系列教程九(导入/导出数据) CRL快速开发框架系列教程十(…
学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET Core Razor 编程系列三——创建数据表及创建项目基本页面 学习ASP.NET Core Razor 编程系列四——Asp.Net Core Razor列表模板页面 学习ASP.NET Core Razor 编程系列五——Asp.Net Core Razor新建模板页面 学习ASP.NET C…
目录 非缓存项目 缓存 JSR-107 Spring缓存抽象 @Cacheable @CachePut @CacheEvict @Caching @CacheConfig 整合Redis 先在Docker里面开启我们的Redis容器 项目引用Redis(牛逼的两个错误) Redis存储字符串 Redis操作数据的结构 Redis存储Object类型 Redis Object Json序列化 讲解缓存这一块,我建议新建一个项目,勾选如下图内容 项目创建好之后,我们先来一个没有缓存的项目,这里我们会…
前言 前面两章节我们介绍了一些日志框架的常见配置及使用实践.一般上,在开发过程中,像log4j2.logback日志框架都提供了很多Appender,基本上可以满足大部分的业务需求了.但在一些特殊需求或者需要将日志进行集中管理(集群部署时,日志是分拆到不同服务器上的,不可能去每一台服务器上去下载文件的,也不便于日志检索)时,就需要自定义Appender,将日志集中输出或者其他一些特殊需求.所以本章节就来简单介绍下关于log4j2和logback的自定义Appender知识. 一点知识 log4j…
前言 从上一章节开始,接下来的几个章节会讲解一些开发过程中配套工具的使用.俗话说的好,工欲善其事,必先利其器.对于开发人员而言,有个好用的工具,也是一件事半功倍的事,而且开发起来也很爽,效率也会提升很多.本章节主要讲解关于Postman这款http模拟请求工具,一般上拿来测试api接口服务的. 题外话:对于Postman而言,本人也是仅仅使用了其中一小部分,还是本着够用的原则,对于其一些高级功能,比如自动化测试.auth认证.js脚本及生成各类语言代码(如cUrl.java.ajax等等),后期…
大家好,我是咔咔 不期速成,日拱一卒 本期来聊聊MySQL的加锁规则,知道这些规则后可以判断SQL语句的加锁范围,同时也可以写出更好的SQL语句,防止幻读问题的产生,在能力范围内最大程度的提升MySQL并发处理事务能力. 现在你应该知道了MVCC解决了快照读下的幻读问题,但当前读的幻读问题还是基于锁解决的,也就是next-key lock. 最新文章 死磕MySQL系列总目录 为什么MySQL字符串不加引号索引失效?<死磕MySQL系列 十一> 打开order by的大门,一探究竟<死磕…
作者:追梦1819 原文:https://www.cnblogs.com/yanfei1819/p/11457867.html 版权声明:本文为博主原创文章,转载请附上博文链接! 引言   作者在实际项目中碰到一个问题,就是需要在系统中加入操作日志功能.但是目前系统开发已经接近尾声,功能接口达到一百几十个.   如果按照新手的思维(项目组中有人就这样提建议),但是这样的话,工作量之大.冗余代码之多,可想而知.对于这种需求,我们应该考虑到 Java 的面向切面编程思想,使用 Spring AOP.…
声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 1.概念:SpringBoot 整合 Shiro 2.具体内容 Shiro 是现在最为流行的权限认证开发框架,与它起名的只有最初的 SpringSecurity(这个开发框架非常不好用,但是千万不要 以为 SpringSecurity 没有用处,它在 SpringCloud 阶段将发挥重大的作用).但是现在如果要想整合 Shiro 开发框架有一点很遗憾, SpringBoot 没有直接的配置支持,它不像整合所谓的 Kafka…
声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 1.概念:SpringBoot 整合 Redis 2.背景 Redis 的数据库的整合在 java 里面提供的官方工具包:jedis,所以即便你现在使用的是 SpringBoot,那么也继续使用此开发包. 2.1.RedisTemplate 模版操作 在 Spring 支持的 Redis 操作之中提供有一个 RedisTemplate 处理程序类,利用这个类可以非常方便的实现 Redis 的各种基本数 据操作. 1. 修改项…
一.简介 Redis 的数据库的整合在 java 里面提供的官方工具包:jedis,所以即便你现在使用的是 SpringBoot,那么也继续使用此开发包. 二.redidTemplate操作 在 Spring 支持的 Redis 操作之中提供有一个 RedisTemplate 处理程序类,利用这个类可以非常方便的实现 Redis 的各种基本数 据操作. 1.引入依赖 <dependency> <groupId>org.springframework.boot</groupId…
返回总目录:ABP+AdminLTE+Bootstrap Table权限管理系统一期 缓存 为什么要用缓存 为什么要用缓存呢,说缓存之前先说使用缓存的优点. 减少寄宿服务器的往返调用(round-trips). 如果缓存在客户端或是代理,将减少对服务器的请求,减少带宽. 减少对数据库服务器的往返调用(round-trips). 当内容缓存在web服务器,能够减轻对数据库的请求. 减少网络带宽. 避免了重新生成可重用内容的时耗. 提高性能 因为缓存减少了round-trips, network t…
1.包结构 2.jar包,配置文件,类 2.1pom.xml文件配置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="ht…
前言 Spring Boot 天生的适合 web 应用开发,它可以快速的嵌入 Tomcat, Jetty 或 Netty 用于包含一个 HTTP 服务器.且开发十分简单,只需要引入 web 开发所需的包,然后编写业务代码即可. 自动配置原理? 在进行 web 开发之前让我再来回顾一下自动配置,可以参考系列文章第三篇.Spring Boot 为 Spring MVC 提供了自动配置,添加了如下的功能: 视图解析的支持. 静态资源映射,WebJars 的支持. 转换器 Converter 的支持.…
作者:追梦1819 原文:https://www.cnblogs.com/yanfei1819/p/11007470.html 版权声明:本文为博主原创文章,转载请附上博文链接! 引言   前面的十四篇文介绍了 SpringBoot 的一些基本和常用的功能.后面,我们将介绍 SpringBoot 的高级的功能.框架原理以及使用技巧.   一个项目组可能由前端.后端.安卓.IOS等众多的开发人员或者众多开发团队组成.内部的 API 共同成本巨大.主要体现在几个方面: 接口多且复杂: 细节之处繁杂:…
缓存是高并发服务的基础,毫不夸张的说没有缓存高并发服务就无从谈起.本项目缓存使用Redis,Redis是目前主流的缓存数据库,支持丰富的数据类型,其中集合类型的底层主要依赖:整数数组.双向链表.哈希表.压缩列表和跳表五种数据结构.由于底层依赖的数据结构的高效性以及基于多路复用的高性能I/O模型,所以Redis也提供了非常强悍的性能.下图展示了Redis数据类型对应的底层数据结构. 基本使用 在go-zero中默认集成了缓存model数据的功能,我们在使用goctl自动生成model代码的时候加上…
1.html特殊字符的显示 我们知道html语言和C语言一样也有一些特殊字符,它们是不能正常显示的,必须经过转义,在网上可以查到如何显示这些字符,如下图所示: 上图给了最常用的特殊字符的显示,下面我们来实验一下: 首先在记事本中写入一句: <font color=blue>程序例</font>#include<stdio.h> 然后就文本后缀名改为.html后,用浏览器打开,显示如下: 我们从上图可以发现include后面没有显示,但是当我们在文本中写入: <fo…
1. 回顾 上文讲解了容错的重要性,以及容错需要实现的功能. 本文来讲解使用Hystrix实现容错. 2. Hystrix简介 Hystrix是Netflix开源的一个延迟和容错库,用于隔离访问远程系统.服务或第三方库,防止级联失败,从而提高系统的可用性与容错性. Hystrix主要通过以下几点实现延迟和容错: 包裹请求:使用HystrixCommand(或HystrixObservableCommand)包裹对依赖的调用逻辑,每个命令在独立线程中执行. 这使用到了设计模式中的“命令模式”. 跳…
转载:https://www.cnblogs.com/magicalSam/p/7189476.html 1.静态资源路径是指系统可以直接访问的路径,且路径下的所有文件均可被用户通过浏览器直接读取. 2.在Springboot中默认的静态资源路径有:classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/ 一.默认静态资源映射 Spring Boot 对静态资源映射提供了默…
Spout实现mk-threads接口用于创建与Executor对应的消息循环主函数. defmulti mk-threads executor-selector Mk-threads函数的主消息循环通过async-loop方法实现,若传入的函数为工厂方法,则在第一次调用该方法时进行初始化,并返回用于消息循环的函数. Spout输入处理函数 spout的输入处理函数采用非阻塞的方式从接收队列中获取消息: (disruptor/consume-batch receive-queue event-h…
在颜色空间系列1: RGB和CIEXYZ颜色空间的转换及相关优化和颜色空间系列3: RGB和YUV颜色空间的转换及优化算法两篇文章中我们给出了两种不同的颜色空间的相互转换之间的快速算法的实现代码,但是那个是C#版本的,为了比较方便,我们这里提供C版本的代码,以RGB转到YUV空间的代码为例: void RGBToYUV(unsigned char *RGB, unsigned char *Y, unsigned char *U, unsigned char *V, int Width, int…
MongoDB 是基于分布式文件存储的数据库. 开发语言是C++. 具有高性能,可扩展的特点. 是NoSql中最像关系数据库的. 什么是NoSql NoSQL 是 Not only SQL 的缩写. 是对不同于传统的关系数据库的数据管理系统的统称. 一般用来存储超大规模数据, 且数据不需要有具体的模式, 可以横向扩展. 与关系数据库的对比 RDB 存储结构化数据, 数据结构之间可能存在约束; NoSQL无固定模式,一般采用k-v方式, 无表关联等约束. RDB 有规范的 SQL 语言; NoSQ…
一.SSM框架整合 1.1.整合思路 从底层整合起,也就是先整合mybatis与spring,然后在编写springmvc. 1.2.开发需求 查询商品列表(从数据库中查询) 1.3.创建web工程 现在ssm的工程创建就有区别于原先的dao.service.web这样的三层目录了,现在是mapper.service.controller这样的目录,mapper就相当于以前的dao.controller相当于以前的web,改变了名称而已.不要因此看不懂了. 1.4.添加jar包 这种jar包,上…
一.简介 1.先看ES的架构图 二.ES支持的客户端连接方式 1.REST API http请求,例如,浏览器请求get方法:利用Postman等工具发起REST请求:java 发起httpClient请求等. 2.Transport 连接 socket连接,用官方提供的TransPort客户端,底层是netty. 注意:ES的发展规划中在7.0版本开始将废弃 TransportClient,8.0版本中将完全移除 TransportClient,取而代之的是High Level REST Cl…
目录 异步任务 定时任务 异步任务 注解:@Async,@EnableAsync 我新建一个Service,就叫AsyncService package com.example.service; import org.springframework.stereotype.Service; @Service public class AsyncService { public void hello(){ try { Thread.sleep(5000); } catch (InterruptedE…
一.starter的作用 当我们实现了一个组建,希望尽可能降低它的介入成本,一般的组建写好了,只要添加spring扫描路径加载spring就能发挥作用.有个更简单的方式扫描路径都不用加,直接引入jar就能使用. 原理时因为springboot提供一个配置文件 spring.factories,预定好了加载那个配置类. org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.xjw.HelloAutoConfigurat…
SQL 执行分析拦截器[ 目前只支持 MYSQL-5.6.3 以上版本 ],作用是分析 处理 DELETE UPDATE 语句, 防止小白或者恶意 delete update 全表操作! 这里我引用MyBatis-Plus官方文档所说的. 为什么需要执行分析插件? 实际开发中,虽然我们可以根据数据库权限分给对应的开发人员,让他们开发或者是同步备份一个生产数据库移植到本地. 但是就小公司而言,没几个会这么弄的,特别是五到六人的小开发团队.基本上,可以说,数据库权限分配或者是本地测试服务器都没有.因…