什么是通用Mapper? 通用mapper 可以极大的方便开发人员进行ORM,提供极其方便的单表增删改查. 什么是通用mapper,一句话简单说,它就是个辅助mybatis极简单表开发的组件.它不是为了替代mybatis,而是让mybatis的开发更方便. 可以按照自己的需要选择通用方法,还能很方便的开发自己的通用方法. 为什么要用通用Mapper? 原生Mybatis的痛点 1.mapper.xml文件里有大量的sql,当数据库表字段变动,配置文件就要修改 2.需要自己实现sql分页,sele…
大家好,我是二哥呀! 昨天,一位球友问我能不能给他解释一下 @SpringBootApplication 注解是什么意思,还有 Spring Boot 的运行原理,于是我就带着他扒拉了一下这个注解的源码,还有 SpringApplication 类的 run() 方法的源码,一下子他就明白了. 你别说,看源码的过程还真的是挺有趣,这不,我就发现了一个有意思的点. public ConfigurableApplicationContext run(String... args) { StopWat…
尝试kotlin的起因 因为各种原因(版权,人员招聘),公司的技术体系从c#转到了java,我花了大概两周的时间来上手java,发现java的语法还是非常简单的,基本看着代码就知道什么意思.学习java的过程中,大部分时间都花费在了maven配置,理解spring的ioc上面. 学习的一段时间,我对java的感觉也正如前人的总结,稀烂的语法,完美的生态.spring在更高层面去约束你的代码设计,测试,事物,分布式,lucene,hadoop...jvm世界有太多的财富等着我去挖掘.但,我实在是不…
持续原创输出,点击上方蓝字关注我 原创博客+1,点击左下角阅读原文进入 目录 前言 如何下载? 配置文件的分类 基本信息配置 修改主题 Next主题样式设置 添加动态背景 修改链接的样式 添加文章搜索功能 修改文章底部标签的#的样式 修改作者头像并旋转 修改``的样式 添加全文阅读的按钮 添加站点访问人数计数 去掉文章目录标题的自动编号 主页文章添加阴影卡片效果 网站底部字数统计 设置网站的图标Favicon 添加文章字数统计功能 添加顶部动态加载条 文章设置置顶 文章加密访问 总结 前言 陈某…
缘由 接口文档想必是许多开发小伙伴的噩梦,不仅要写详细,还要及时维护文档与后端代码保持一致,稍有没及时更新接口文档,前端同学肯定会抱怨后端同学给的文档与实际情况不一致. 于是,引入了Swagger组件,它实现了代码即文档,后端只管写代码,只需要通过几个注解,会自动生成接口文档,前端同学可在线访问. 但是,对界面审美有要求的前端同学,又吐槽Swagger原生界面太low了,而且功能还少. 有压迫就有反抗,后端肯定不服,既然你嫌弃原生Swagger太low,那就给你开通超级VIP - knife4j…
一.添加所需依赖,当前完整的pom文件如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd&q…
来到大数据分析的时代,大量的大数据分析软件涌现,尽管如此,如果今天有人问起最常用的数据透视分析工具是什么的时候,我猜想Excel应该是大家的不二之选. 但是其实我想说,用现在的手机来打比方,Excel就好比老人机,当大家都在用新一代的"智能手机"--思迈特软件Smartbi的时候,你还在用老人机,这样一对比,简直就是在被当街吊打. 为什么说Excel就好比老人机呢? 1.Excel数据分析处理能力较低,几十万条的数据转半天都转不出来. 2.Excel入门容易但是想要精通却很难,一旦想要…
首先明明电脑上,就有清理垃圾和无用注册表的功能,只是我么缺少发现美的眼睛. 为什么不用360,腾讯全家桶. 那玩意固然香,而且真香,但是后台占用率太高,作为一个有洁癖的我,实在是不想看到自己右下角多一个蓝色的标志. 而且,会被同行嘲笑:"兄弟为啥,你不写个管家用用?".我写你大爷,我写. 这里,我们用到批处理文件,首先建立个记事本,然后把代码粘贴进去,改后缀为.bat 然后以管理猿身份运行.完事收工. @echo off del/f/s/q %systemdrive%\*.tmp de…
大家好,我是冰河~~ 最近不少小伙伴想在自己公司的内网搭建一套Maven私服环境,可自己搭建的过程中,或多过少的总会出现一些问题,问我可不可以出一篇如何搭建Maven私服的文章.这不,就有了这篇文章嘛. 好了,其他的不多说了,接下来,我们就一起来搭建Maven私服环境吧! 环境说明 环境:CentOS 6.x~8.0. JDK8. Sonatype Nexus. Maven IP:192.168.50.131 root 用户操作 安装Nexus 前提:已安装 JDK8 并配置好了环境变量,小伙伴…
Hi,大家好,我是承香墨影! Android 8.0 已经发布了有一阵子了,如果你有在关注它,你应该会知道它新增了一个对于 TextView 字体大小变动的新特性:Autosizing. 本身这个新特性,如果只是在 Android 8.0 才有效,对于开发者而言,就显得有点鸡肋了,可能还需要一段时间才能普及使用.不过呢,在 Android Support v26 之上,也对 Autosizeing 提供了兼容支持,最低可以支持到 Android Level 14. 这样,我们就有了研究的必要了,…
MySQL 慢怎么办 如果遇到 MySQL 慢的话,你的第一印象是什么,MySQL 数据库如果性能不行,你是如何处理的? 我咨询了一些同行, 得到了以下反馈: 第一反应是再试一次 第二个反应是优化一下 SQL 第三个反应是调大 buffer pool,然后开始换硬件了,换一下 SSD 最后实在不行了找个搜索引擎搜索一下“MySQL 慢怎么办”. 如果大家用的是国内的搜索引擎的话,搜索引擎会推荐某某知道或者某某乎, 推荐一些 MySQL 调优经验, 调大参数 A, 调低参数 B, 诸如此类,类似的…
1 简介 Conda作为使用最为广泛的数据科学环境管理工具,可以协助我们很方便的完成创建管理环境.下载安装第三方库.软件包等操作,但其在下载资源的过程中下载速度时常令人捉急,即使使用连接速度更快的国内镜像,也摆脱不了其单线程挨个下载资源导致的低效问题. 而Mamba(黑曼巴)专为加速Conda而生,其改写了Conda下载资源的固有方式,以多线程的方式对网络资源进行并行下载,从而大幅提升Conda效率: 图1 本文就将带大家学习如何使用Mamba来帮助我们更高效地使用Conda功能. 2 Mamb…
前言 每次开发完新项目或者新接口功能等,第一件事就是提供接口文档.说到接口文档,当然是用 Markdown 了.各种复制粘贴字段,必填非必填,字段备注,请求返回示例等等.简直是浪费时间哇.所以想到了开发一款插件来解决重复复制文档的问题.下面来看我介绍介绍这款插件. PS:插件比较简陋,还需要不断迭代. 公众号:liuzhihangs,记录工作学习中的技术.开发及源码笔记:时不时分享一些生活中的见闻感悟.欢迎大佬来指导! 为什么开发插件 每次在对外提供接口时都要写文档,各种麻烦,并且文档耗费了很大…
写在前面 ELK三剑客(ElasticSearch,Logstash,Kibana)基本上可以满足日志采集.信息处理.统计分析.可视化报表等一些日志分析的工作,但是对我们来说--太重了,并且技术栈不是一路的.我们的场景是需要采集各个业务部门服务器上面的各个业务系统,所以尽量不要影响到服务器的性能,以侵入性最低的方式进行采集,不做其他多余操作.因而,在前端日志采集这块,对比其他Logstash.Flume等采集工具之后,决定采用轻量的Filebeat作为日志采集工具,Filebeat采用go开发,…
痛点 如果我们有这个目录: ├── webpack.config.js ├── src │ ├── view │ │ ├── index.js │ │── router │ │ ├── index.js 不使用任何方式的路径别名的话,在/view/index.js内要引入/router/index.js的话,就要使用../router.当目录结构变深的时候就会出现../../../../../,这是一个噩梦. 所以我们的目标是用@view指代/src/view目录,@router指代/src/r…
0. 为什么说做好微服务很难? 要想做好微服务,我们需要理解和掌握的知识点非常多,从几个维度上来说: 基本功能层面 并发控制&限流,避免服务被突发流量击垮 服务注册与服务发现,确保能够动态侦测增减的节点 负载均衡,需要根据节点承受能力分发流量 超时控制,避免对已超时请求做无用功 熔断设计,快速失败,保障故障节点的恢复能力 高阶功能层面 请求认证,确保每个用户只能访问自己的数据 链路追踪,用于理解整个系统和快速定位特定请求的问题 日志,用于数据收集和问题定位 可观测性,没有度量就没有优化 对于其中…
前言: 之前的几篇文章有说过,通过智能告警平台Cloud Alert,将指定条件的告警以多样化的通知方式,通知到指定的人,其中的通知的方式包含电话.短信.邮件.微信.APP.钉钉等. 本篇文章就来说下,在之前通知的基础上,如何实现将告警在不同的时间段通知到指定的人.这就是Cloud Alert的灵活排班和自动分派. 告警的种类很多,告警级别也不一样,可是如果一直通知给一个人,实在是有点不够人性化,所以对于运维人员来说在不同时间段把不同级别的告警发给相应的值班人员,就成为了大多数运维人员的迫切需求…
折线图是以折线的上升或下降来表示统计数量的增减变化的统计图,叫作折线统计图.用折线的起伏表示数据的增减变化情况,不仅可以表示数量的多少,而且可以反映数据的增减变化情况.并且折线图也是目前最方便的一种统计数据的方式.一些普通的办公软件虽然也可以在线绘制折线图,但是做起来比较麻烦.所以,现在市面上有很多折线图在线生成工具,那么在线生成折线图到底好用不好用? 1.Smartbi 在线生成曲线图的网站挺多,比如Smartbi就是思迈特软件贵公司旗下一款非常不错的软件.这一款软件不仅使用起来比较方便,而且…
一.前言 小编最近在项目里看到有的同事大神用到了Lombok中的一个@RequiredArgsConstructor,带着好奇发现这个东西就是简化了一些@Autowired注解,想想如果一个Service还有几十个注入,这样就要写上几十个@Autowired,这样代码显示很臃肿哈.有了@RequiredArgsConstructor注解,我们就可以减少@Autowired的书写.用过的人都说好哈,下面带大家一起使用一下! 二.导入Lombok依赖 <dependency> <groupI…
import java.io.File; import java.util.ArrayList; import java.util.List; import org.mybatis.generator.api.MyBatisGenerator; import org.mybatis.generator.config.Configuration; import org.mybatis.generator.config.xml.ConfigurationParser; import org.myba…
1.使用mybatis逆向工程生成的po类中包含UserExample文件(我的数据库表名为User). 2. 创建UserExample对象,然后对加入条件.对应的测试代码为: /* * 通过姓名和性别进行查找 * 找姓名中包含“li”,性别为1 */ @Test public void testFindUserAndSex(){ UserMapper userMapper=(UserMapper) applicationContext.getBean("userMapper");…
步骤: 1. 新建一个Maven项目: 然后导入maven依赖: <dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.5</version> </dependency> </dependencies> <build> &…
通用Mapper是一款针对mybatis进行扩展的轻量级组件,使用起来非常方便.当调用其针对mysql进行批量添加数据的方法时,发现报错,仔细研究了一番,发现是在使用通用Mapper上出现了问题.下面贴出本文使用的通用的Mapper github 地址及其版本. 通用Mapper github主页:https://github.com/abel533/Mapper/   本文示例使用的版本是3.5.4-SNAPSHOT 该分支的链接:  https://github.com/abel533/Ma…
mybatis-plus-boot-starter和mybatis-spring-boot-starter冲突导致MapperScan失效问题还没有解决,只能不用mybatis-plus-boot-starter 1. Mybatis-generatorMyBatis Generator(MBG)是MyBatis MyBatis 和iBATIS的代码生成器.它为所有版本的MyBatis以及版本2.2.0之后的iBATIS版本生成代码.它将根据数据库表生成可用于访问表的文件. Mybatis-ge…
代码生成 在企业软件开发过程中,大多数时间都是面向数据库表的增删改查开发.通过通用的增删改查代码生成器,可以有效的提高效率,降低成本:把有规则的重复性劳动让机器完成,解放开发人员. MyBatis Generator MyBatis Generator 是 MyBatis 提供的一个代码生成工具 可以帮我们生成表对应的持久化对象(po).操作数据库的接口(dao).CRUD sql 的 xml(mapper). <plugin> <groupId>org.mybatis.gener…
由于MyBatis Generator自带了生成注释的功能,但是,是英文的而且生成的根本无法理解,所以可以通过,修改他的源码来实现生成中文的注释,具体方式有以下几种: 1) 自定义CommentGenerator2) 修改源码3) PluginAdapter插件的形式 这个例子通过自定义CommentGenerator来实现. 1.创建maven工程,修改pom.xml: <?xml version="1.0" encoding="UTF-8"?> &l…
逆向工程生成的接口中的方法详解 在我上一篇的博客中讲解了如何使用Mybayis逆向工程针对单表自动生成mapper.java.mapper.xml.实体类,今天我们先针对mapper.java接口中的部分方法进行测试,以了解其作用. 先看表结构... 从下图可以看到MBG根据数据表自动生成了很多方法,基本可以满足我们日常开发需求,我从中挑选几个测试. 1.添加数据 添加有insert,insertSelective两个方法.insert方法会把你传入对象的每一个属性的值(没有设置就按默认值)添加…
  我造的这个"轮子"指的是集低代码开发与运维为一体的平台,为什么说它不是"圆"的,因为它有些与众不同,甚至可以说是有些另类.至于为什么造这个"轮子",以及另类在什么地方且听我慢慢道来. 一.痛苦的编码岁月   我是一个70后码农,开发过不计其数的系统,小到进销存大到电商.物联网甚至是省级平台.每次项目开始都要经历从技术选型.架构设计.开发.测试及最终生产环境部署运维等多个步骤.小项目还好随便一个单体架构就可以搞定,大项目特别是数据量较大的不仔细…
今天新入一个全新的知识面,叫做深浅拷贝,拷贝英文名copy,俗称复制,作为一个火影迷就会想到拷贝忍者旗木卡卡西,跑题了,在所有的数据存储时,都会有内存地址和存储地址,浅拷贝只拷贝第一层的内存地址,深拷贝会拷贝所有可变的数据,浅拷贝命令copy.copy(),深拷贝为copy.deepcopy().str/int/bool都是按照此方法深浅拷贝,且无差别,list/dict/set浅拷贝之后地址指向数据原来地址,深拷贝会拷贝所有可变得内存地址,因为元祖属于不可变类型,所以深浅拷贝地址都不变.还有一…
MyBatis逆向工程根据数据库表自动生成mapper.xml,entity类,mapper类,简直不要 太方便好嘛 下面贴上关键配置代码,以免以后找不到 generator.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configurati…