![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
普希托夫
这个作者很懒,什么都没留下…
展开
-
mybatis plus 代码生成器
mybatis plus 代码生成器AutoGenerator是MyBatis-Plus的代码生成器,通过AutoGenerator可以快速生成Entity, MapperMapper XML, Service, Controller等各个模块的代码,极大的提升了开发效率。代码生成器需要的依赖<!--mybatis plus 起步依赖--> <dependency> <groupId>com.baomidou</gr原创 2021-09-04 20:11:36 · 72 阅读 · 0 评论 -
mybatisPlus 简化 Service层 对service层的封装
mybatisPlus 简化 Service层对service层的封装Mybatis-Plus为了开发更加快捷,对业务层也进行了封装,直接提供了相关的接口和实现类。我们在进行业务层开发时,可以继承它提供的接口和实现类,使得编码更加高效mybatisplus 封装 service层接口/** mybatisplus 封装 service接口* 1. 定义service层接口 IService* 2. 定义实现类继承ServiceImpl<Mapper接口,Entity实体类>*原创 2021-09-04 19:05:07 · 1170 阅读 · 0 评论 -
Mybatis-plus 条件构造器
Mybatis-plus 条件构造器@SpringBootTest@RunWith(SpringRunner.class)public class WrapperTest { @Autowired private UserMapper userMapper; /** * 基础比较查询 * * Wrapper: * 1.QueryWrapper * LambdaQueryWrapper * 2.Up原创 2021-09-04 18:21:41 · 75 阅读 · 0 评论 -
MyBatisplus CRUD 就是增删改查
MyBatisplus CRUD 就是增删改查@SpringBootTest@RunWith(SpringRunner.class)class UserMapperTest { @Autowired private UserMapper userMapper; /** * 根据id查询 */ @Test public void testSelectById() { User user = userMapper.sele原创 2021-09-04 15:38:33 · 78 阅读 · 0 评论 -
Mybatis-Plus 的使用 SpringBoot整合Mybatis-Plus
Mybatis-Plus 的使用Mybatis-Plus 是 要安装MybatisX这个插件,才能使用的。作用:1.可以快速找到与dao层接口对应的 映射文件中SQL语句的配置。2.可以直接在dao层接口创建,映射文件sql语句的配置安装 mybatisplus的方法:在idea中file–》setting 搜索 Plugins,在Plugins主界面中搜索,mybatisX插件。找到后,点击install下载。MyBatis-Plus (简称MP)是一个MyBatis的增强工具,在MyBa原创 2021-09-04 14:36:56 · 127 阅读 · 0 评论 -
Dockerfile 文件
Dockerfile 文件Dockerfile文件 是用来制作Docker镜像的操作系统组成部分:• 进程调度子系统• 进程通信子系统• 内存管理子系统• 设备管理子系统• 文件管理子系统• 网络通信子系统• 作业控制子系统操作系统组成部分:Linux文件系统由bootfs和rootfs两部分组成• bootfs:包含bootloader(引导加载程序)和 kernel(内核)• rootfs: root文件系统,包含的就是典型 Linux 系统中的/dev,/proc,/bin原创 2021-09-03 18:00:53 · 70 阅读 · 0 评论 -
Docker 应用部署
Docker 应用部署MySQL部署案例:需求案例:实现步骤① 搜索mysql镜像② 拉取mysql镜像③ 创建容器④ 操作容器中的mysqlMySQL部署• 容器内的网络服务和外部机器不能直接通信• 外部机器和宿主机可以直接通信• 宿主机和容器可以直接通信• 当容器中的网络服务需要被外部机器访问时,可以将容器中提供服务的端口映射到宿主机的端口上。外部机器访问宿主机的该端口,从而间接访问容器的服务。• 这种操作称为:端口映射Tomcat部署案例:需求案例:实现步骤① 搜索原创 2021-09-03 15:11:27 · 79 阅读 · 0 评论 -
Docker 容器的数据卷
Docker 容器的数据卷数据卷概念• Docker 容器删除后,在容器中产生的数据也会随之销毁• Docker 容器和外部机器可以直接交换文件吗?• 容器之间想要进行数据交互?宿主机容器 容器思考:数据卷• 数据卷是宿主机中的一个目录或文件• 当容器目录和数据卷目录绑定后,对方的修改会立即同步• 一个数据卷可以被多个容器同时挂载• 一个容器也可以被挂载多个数据卷目录 挂载数据卷作用• 容器数据持久化• 外部机器和容器间接通信• 容器之间数据交换配置数据卷⚫ 创建启动容原创 2021-09-03 14:41:07 · 129 阅读 · 0 评论 -
Docker 的使用
Docker 的使用Docker 是一个开源的应用容器引擎。诞生于 2013 年初,基于 Go 语言实现, dotCloud 公司出品(后改名为Docker Inc) • Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux 机器上。• 容器是完全使用沙箱机制,相互隔离• 容器性能开销极低。• Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition:原创 2021-09-03 12:59:38 · 65 阅读 · 0 评论 -
redis 企业级 集群 配置
redis 企业级 集群 配置5.1 缓存预热场景:“宕机”服务器启动后迅速宕机问题排查:1.请求数量较高,大量的请求过来之后都需要去从缓存中获取数据,但是缓存中又没有,此时从数据库中查找数据然后将数据再存入缓存,造成了短期内对redis的高强度操作从而导致问题2.主从之间数据吞吐量较大,数据同步操作频度较高解决方案:前置准备工作:1.日常例行统计数据访问记录,统计访问频度较高的热点数据2.利用LRU数据删除策略,构建数据留存队列例如:storm与kafka配合准备工作:1.原创 2021-09-02 18:07:18 · 97 阅读 · 0 评论 -
redis 集群 Cluster
redis 集群 Cluster集群简介集群就是使用网络将若干台计算机联通起来,并提供统一的管理方式,使其对外呈现单机的服务效果[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lhvUh68Q-1630568714233)(./img/24.png)]集群作用:分散单台服务器的访问压力,实现负载均衡分散单台服务器的存储压力,实现可扩展性降低单台服务器宕机带来的业务灾难[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oC4pW1F原创 2021-09-02 16:48:06 · 72 阅读 · 0 评论 -
redis 哨兵
redis 哨兵3.1 哨兵简介3.1.1 哨兵概念首先我们来看一个业务场景:如果redis的master宕机了,此时应该怎么办?[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C1L7ZbSw-1630566614350)(./img/16.png)]那此时我们可能需要从一堆的slave中重新选举出一个新的master,那这个操作过程是什么样的呢?这里面会有什么问题出现呢?[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qTrjaQt原创 2021-09-02 15:41:26 · 50 阅读 · 0 评论 -
redis 主从复制
redis 主从复制高可用首先我们要理解互联网应用因为其独有的特性我们演化出的三高架构高并发应用要提供某一业务要能支持很多客户端同时访问的能力,我们称为并发,高并发意思就很明确了高性能性能带给我们最直观的感受就是:速度快,时间短高可用可用性:一年中应用服务正常运行的时间占全年时间的百分比,如下图:表示了应用服务在全年宕机的时间我们把这些时间加在一起就是全年应用服务不可用的时间,然后我们可以得到应用服务全年可用的时间4小时27分15秒+11分36秒+2分16秒=4原创 2021-09-02 14:30:19 · 62 阅读 · 0 评论 -
redis 淘汰策略
redis 淘汰策略淘汰策略概述什么叫数据淘汰策略?什么样的应用场景需要用到数据淘汰策略?当新数据进入redis时,如果内存不足怎么办?在执行每一个命令前,会调用**freeMemoryIfNeeded()**检测内存是否充足。如果内存不满足新 加入数据的最低存储要求,redis要临时删除一些数据为当前指令清理存储空间。清理数据的策略称为逐出算法。注意:逐出数据的过程不是100%能够清理出足够的可使用的内存空间,如果不成功则反复执行。当对所有数据尝试完毕, 如不能达到内存清理的要求,将出现错误信息原创 2021-09-02 11:31:00 · 70 阅读 · 0 评论 -
Redis 删除策略
Redis 删除策略过期数据Redis中的数据特征**Redis是一种内存级数据库,所有数据均存放在内存中,内存中的数据可以通过TTL指令获取其状态TTL返回的值有三种情况:正数,-1,-2正数:代表该数据在内存中还能存活的时间-1:永久有效的数据2 :已经过期的数据 或被删除的数据 或 未定义的数据删除策略就是针对已过期数据的处理策略,已过期的数据是真的就立即删除了吗?其实也不是,我们会有多种删除策略,是分情况的,在不同的场景下使用不同的删除方式会有不同效果,这也正是我们要将的数据的删原创 2021-09-02 11:17:27 · 306 阅读 · 0 评论 -
Rocket MQ 集群
Rocket MQ 集群集群特征NameServer是一个几乎无状态节点,可集群部署,节点之间无任何信息同步。Broker部署相对复杂,Broker分为Master与Slave,一个Master可以对应多个Slave,但是一个Slave只能对应一个Master,Master与Slave的对应关系通过指定相同的BrokerName,不同的BrokerId来定义,BrokerId为0表示Master,非0表示Slave。Master也可以部署多个。每个Broker与NameServer集群中的所有节点建立原创 2021-08-31 14:34:35 · 259 阅读 · 0 评论 -
ElasticSearch 索引别名和重建索引
ElasticSearch 索引别名和重建索引重建索引:是重新创建索引,不是重头创建这个索引的对象。随着业务需求的变更,索引的结构可能发生改变。ElasticSearch的索引一旦创建,只允许添加字段,不允许改变字段。因为改变字段,需要重建倒排索引,影响内部缓存结构,性能太低。那么此时,就需要重建一个新的索引,并将原有索引的数据导入到新索引中。#查询别名 默认别名无法查看,默认别名同索引名GET goods/_alias/#结果{ "goods" : { "aliases" :原创 2021-08-29 21:33:03 · 577 阅读 · 0 评论 -
ElasticSearch 高亮查询-脚本
ElasticSearch 高亮查询-脚本高亮三要素:需要高亮显示的字段,前缀,后缀;默认前后缀 :em<em>手机</em>GET goods/_search{ "query": { "match": { "title": "电视" } }, "highlight": { "fields": { "title": { "pre_tags": "<font color='red'>",原创 2021-08-29 21:03:58 · 72 阅读 · 0 评论 -
ElasticSearch 聚合查询-脚本
ElasticSearch 聚合查询-脚本•指标聚合:相当于MySQL的聚合函数。max、min、avg、sum等•桶聚合:相当于MySQL的 group by 操作。不要对text类型的数据进行分组,会失败。就是将 查询结果进行分组显示在控制台,对查询结果进行,求和统计、最大值、最小值、平均值等函数方面的计算查询。# 聚合查询# 指标聚合 聚合函数GET goods/_search{ "query": { "match": { "title": "手机"原创 2021-08-29 20:31:07 · 438 阅读 · 0 评论 -
ElasticSearch 布尔查询-脚本
ElasticSearch 布尔查询-脚本就是用来将 多个查询条件 装到一个球中进行查询。就是这样的模式。boolQuery:对多个查询条件连接。连接方式:•must(and):条件必需成立•must_not(not):条件必须不成立•should(or):条件可以成立•filter:条件必须成立,性能``比must高。不会计算得分# boolquery#must和filter配合使用时,max_score(得分)是显示的#must 默认数组形式GET goods/_search{原创 2021-08-29 18:16:50 · 91 阅读 · 0 评论 -
ElasticSearch queryString查询-脚本 多字段同时查询
ElasticSearch queryString查询-脚本queryString查询 是可以 通过 多个字段或条件 组合,进行查询。queryString 多条件查询•会对查询条件进行分词。•然后将分词后的查询条件和词条进行等值匹配•默认取并集(OR)•可以指定多个查询字段GET 索引名称/_search{"query":{"query_string":{"fields":【"字段1",“字段2”】,"query":"查询条件1 OR 查询条件2"}}}query_strin原创 2021-08-29 15:43:15 · 1531 阅读 · 0 评论 -
ElasticSearch 模糊查询- Java API
ElasticSearch 模糊查询- Java API原创 2021-08-29 14:55:23 · 96 阅读 · 0 评论 -
ElasticSearch match查询脚本
match查询脚本match查询:会对查询条件进行分词。然后将分词后的查询条件和词条进行等值配置默认取并集(OR)语法:GET 索引名称/_search{“query”:{“match”:{“字段名称”:“查询条件”{“query”:“查询条件”,“operator”:“操作(or或and)”}}}} /* matchQuery:词条分词查询 获取并集 与 交集 */ @Test public void testMatchQuery() throws IOExce原创 2021-08-28 16:44:47 · 126 阅读 · 0 评论 -
ElasticSearch term查询-脚本
term查询-脚本term查询:不会对查询条件进行分词语法:GET 索引名称/_search{“query”:{“term”:{“字段名称”:{“value”:“查询条件”}}}} /* termQuery:词条查询 */ @Test public void testTermQuery() throws IOException { SearchRequest searchRequest = new SearchRequest("goods");原创 2021-08-28 16:28:03 · 105 阅读 · 0 评论 -
ElasticSearch 查询 matchAll使用方法
ElasticSearch 查询matchAll 查询脚本:就是查询所有文档语法:GET 索引名称/_search{“query”:{“match_all”:{},// 设置分页参数“from”:0,“size”:100}}matchAll-JavaAPI**java代码操作 matchAll 查询全部 进行分页控制/** * 查询所有 * 1. matchAll * 2. 将查询结果封装为Goods对象,装载到List中 * 3原创 2021-08-28 16:06:37 · 2076 阅读 · 0 评论 -
elasticsearch 导入数据
elasticsearch 导入数据将数据库中的Goods表的数据导入到ElasticSearch中的做法步骤:创建goods索引查询goods表数据批量添加到ElasticSearch中导入数据-分析&创建索引**PUT goods{ "mappings": { "properties": { "title": { "type": "text", "analyzer": "ik_smart" }, "price": { "typ原创 2021-08-28 14:41:44 · 146 阅读 · 0 评论 -
ElasticSearch 批量操作 用代码进行
ElasticSearch 批量操作 用代码进行bulk批量操作-JavaAPI** /** * Bulk 批量操作 */ @Test public void test2() throws IOException { //创建bulkrequest对象,整合所有操作 BulkRequest bulkRequest =new BulkRequest(); /* # 1. 删除5号记录原创 2021-08-28 11:15:09 · 63 阅读 · 0 评论 -
ElasticSearch 批量操作脚本
ElasticSearch 批量操作脚本Bulk 批量操作是将文档的增删改查一系列操作,通过一次请求全部做完。减少网络传输次数。脚本:测试用的5号文档POST /person1/_doc/5{ "name":"张三5号", "age":18, "address":"北京海淀区"}批量操作文本#批量操作#1.删除5号#新增8号#更新2号 name为2号POST _bulk{"delete":{"_index":"person1","_id":"5"}}{"create原创 2021-08-28 10:35:53 · 153 阅读 · 0 评论 -
ElasticSearch javaAPI 用代码来操作ES
ElasticSearch 用代码来操作ESspringboot整合ES①搭建SpringBoot工程②引入ElasticSearch相关坐标<!--引入es的坐标--> <dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-high-level-clien原创 2021-08-27 19:57:50 · 78 阅读 · 0 评论 -
ElasticSearch 分词器 IK分词器
ElasticSearch 分词器elasticSearch 自带的分词器,将中文 份成单独的字来查询,这就不能进行词条查询。要对中文做分词查询,就要借助别的中文分词器了。IK分词器,就是专门用来将中文分成词条的。•IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包•是一个基于Maven构建的项目•具有60万字/秒的高速处理能力•支持用户词典扩展定义•下载地址:https://github.com/medcl/elasticsearch-analysis-ik/a原创 2021-08-27 19:30:37 · 122 阅读 · 0 评论 -
ElasticSearch 操作文档
ElasticSearch 操作文档**•添加文档,指定idPOST /person1/_doc/2{ "name":"张三", "age":18, "address":"北京"}GET /person1/_doc/1•添加文档,不指定id#添加文档,不指定idPOST /person1/_doc/{ "name":"张三", "age":18, "address":"北京"}#查询所有文档GET /person1/_search#删除指定id文原创 2021-08-27 18:37:29 · 47 阅读 · 0 评论 -
ElasticSearch 核心概念 与操作索引
ElasticSearch 核心概念索引(index)ElasticSearch存储数据的地方,可以理解成关系型数据库中的数据库概念。映射(mapping)mapping定义了每个字段的类型、字段所使用的分词器等。相当于关系型数据库中的表结构。文档(document)Elasticsearch中的最小数据单元,常以json格式显示。一个document相当于关系型数据库中的一行数据。倒排索引一个倒排索引由文档中所有不重复词的列表构成,对于其中每个词,对应一个包含它的文档id列表。类型(ty原创 2021-08-27 16:49:08 · 71 阅读 · 0 评论 -
Elastic Search 的作用 与 使用方法
ElasticSearch 的作用 与 使用方法ElasticSearch 是一种搜索服务器,用来 做模糊查询的模糊查询 就 是将 查询条件分成 单个的词语, 进行: 组合查询 与 单个查询。数据库查询:性能低,功能弱。ElasticSearch 的 倒排索引 就是用来做这样的 模糊查询。将 查询条件分成 单个的词语, 进行: 组合查询 与 单个查询 。倒排索引 :将一段文本 拆分成为不同的词条。也称为 :反向索引。以 词条 为 key ; 文本为 value,通过词条找到 对应的 文本原创 2021-08-27 16:09:44 · 1119 阅读 · 0 评论 -
springboot @Import注解 @EnableAutoConfiguration 注解
springboot @Import注解@Enable"底层依赖于@lmport注解导入一些类,使用@lmport导入的类会被Springh载到OC容器中。而@mport提供4中用法:Import4中用法:导入Bean导入配置类导入ImportSelector的实现类。导入ImportBeanDefinitionRegistrar实现类@SpringBootApplicationpublic class SpringbootEnableApplicatio原创 2021-08-25 14:56:11 · 132 阅读 · 0 评论 -
springboot 的 Enable注解
springboot 的 Enable注解SpringBoot中提供了很多Enable开头的注解,这些主解都是用于动态启用某些功能的。而其底层原理是使用@Import解导入一些配置类,实现Bean的动态加哦。EnableAutoConfiguration注解 是核心注解,有configuration就是配置类注解,可以直接定义bean的。SpringBoot不能直接获取在其他工程中定义的Bean演示代码:springboot-enable工程/** * @ComponentScan 扫描范原创 2021-08-25 14:28:35 · 470 阅读 · 0 评论 -
springboot 切换内置web服务器
springboot 切换内置web服务器SpringBoot的web环境中默认使用tomcat作为内置服务器,其实SpringBoot提供了4种内置服务器,可以很方便的进行切换。pom文件中的排除依赖效果 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</arti原创 2021-08-25 11:26:31 · 166 阅读 · 0 评论 -
springboot 判断哪个字节码文件存在可以动态指定。
需求:将类的判断定义为动态的。判断哪个字节码文件存在可以动态指定。public class ClassCondition implements Condition { @Override public boolean matches(ConditionContext Context, AnnotatedTypeMetadata metadata) { /* //1.需求:导入Jedis坐标后创建Bean // 实现 Condition 接口原创 2021-08-25 11:15:09 · 104 阅读 · 0 评论 -
springboot 自动配置 实现Condition接口
springboot 自动配置 实现Condition接口Condition是Spring4.0后引入的条件化配置接口,通过实现Condition接口可以完成有条件的加载相应的Bean@Conditional要配和Condition的实现类(ClassCondition)进行使用Class Condition在Spring的IOC容器中有一个User的Bean,现要求:1,导入Jedis坐标后,加载该Bean,没导入,则不加载。public class ClassCondition impl原创 2021-08-25 10:22:58 · 288 阅读 · 0 评论 -
springboot 整合 Junit
springboot 整合 Junit实现步骤:1 搭建SpringBoot工程2 引入starter-test起步依赖3 编写测试类4 添加测试相关注解@RunWith(SpringRunner.class)@SpringBootTest(classes =启动类.class)5 编写测试方法pom里需要的坐标 <!-- 不要这个就不能运行 这是本项目的坐标 --> <groupId>com.itheima</groupId>原创 2021-08-24 23:58:16 · 126 阅读 · 0 评论 -
springboot 内部 与 外部 配置加载顺序
springboot 内部配置加载顺序SpringBoot配置-项目内部配置文件加载顺序**加载顺序为上文的排列顺序,高优先级配置的属性会生效1- file:./config/:当前项目下的/config目录下2- file:./ :当前项目的根目录3- classpath:/config/:classpath的/config目录4- classpath:/ :classpath的根目录这四种加载的顺序也是他们的优先级在配置文件配置的访问路径,是用来访问整个项目的,在整原创 2021-08-24 23:13:28 · 147 阅读 · 0 评论