自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

偶尔记一下 - mybatis.io

没事看看 - MyBatis工具

  • 博客(338)
  • 资源 (7)
  • 论坛 (6)
  • 收藏
  • 关注

原创 方便的 Kubernetes API 参考文档

http://k8s.mybatis.tk关注过 K8s 的人可能都看过官方的 API 参考文档:https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.13这个文档的形式如下图所示:如果你真正参考过这个文档,你会发现这个文档特别不好用,想要逐级查看属性信息时,经常在锚点之间跳转,无法从整体上看到完整的结构,非...

2019-02-24 19:30:15 2832 2

原创 《MyBatis 从入门到精通》

我在CSDN博客写了不少和MyBatis相关的博客,2015年时觉得自己写的太零散,不够系统全面,所以在GitBook创建了一本名为MyBatis最佳实践的开源电子书,当时写好了目录大纲,由于维护好几个开源项目,业余时间几乎都被占用,最终也只写了MyBatis Generator部分,也就是博客中的MyBatis Generator 详解。2016年3月份时,博文视点的孙奇俏编辑和我联系,然后就开始

2017-06-21 20:46:33 81902 59

原创 Dubbo Spring Cloud 逆向分析服务注册事件变化的处理过程

TODO Dubbo Spring Cloud 事件处理(正向篇)Dubbo Spring Cloud 事件处理内容分为两篇,第一篇为 逆向篇,这篇介绍了如何从接收事件的方法逆向推出完整的事件处理过程,这个方法适合在具体代码遇到问题时,倒着把问题的处理过程理顺。逆向分析完整个流程后,再通过 正向篇 来看从头到尾的处理过程。起因原来用的 Spring Boot + Dubbo 开发架构,在架构中有一个特殊的功能用到了 NotifyListener 来监听指定接口变化的信息。现在要将架构升级为 Sp.

2020-11-25 15:18:52 34

原创 开发人员的 Chrome 翻译设置

开发人员可能会看一些英文的文档,在 Chrome 上通过右键【翻译中文】非常方便。开发人员看的网站通常会存在代码段,谷歌也会翻译这部分内容,这就导致代码格式乱了,而且翻译中文后反而看不懂了。如何避免代码被翻译呢?搜到了一篇文章 How can I tell Google Translate to not translate a section of a website?按照介绍,只需要给元素添加 class="notranslate",Chrome 翻译就会忽略添加这个样式的块。以 ES 文档为例

2020-09-17 17:09:23 316 1

原创 Docker 容器中添加字体

在容器中转PDF时,可能是 JasperReport,可能是 Aspose,也可能是自己用 pdfbox, itex 之类的库。在 Windows 上可能运行的没有问题,但是切换到 Linux,到容器时,字体找不到就会出现乱码。解决办法很简单。复制需要用的字体到容器中即可,具体操作方法如下:FROM 你的基础镜像COPY windows /usr/share/fonts/windowsRUN cd /usr/share/fonts/windows && chmod 755 * &a

2020-09-12 15:02:25 772 4

原创 K8s 简单集成 SkyWalking

本文记录最简单的一个过程要点。搭建 ES7参考这里:Install Elasticsearch with Docker搭建单节点时需要注意配置环境变量:discovery.type=single-node配置本地存储(例如 hostPath方式)需要注意配置权限:mkdir esdatadirchmod g+rwx esdatadirchgrp 0 esdatadir搭建 skywalking-oap-server 服务官方镜像:apache/skywalking-oap-server:

2020-08-07 14:10:50 943

原创 数学思维和程序员思维

记得刚掌握一种编程语言时,看到数学题就会想着这道题应该怎么通过编程来计算,代码也算一种解题方法。这个时期就像是拿着锤子眼里都是钉子,总想用一种思维去解决所有的问题。今天因为某个东西,遇到了一道题,为了不泄露题的来源,这里对题进行简单改动。在那遥远的 S1 上林大区,有一个半径为10m的半球形水池盛满了夏季肮脏的雨水,现在想把水池清理干净,如果将雨水从上方全抽出来需要做的功为W,那么当做功 W/2 时抽了百分之多少雨水?看到这题第一眼,就意识到这是一道典型的物理题,解题方法需要用到数学中的微积分。百度

2020-07-29 00:13:57 1502

原创 基于 k8s 的 frp 内网穿透配置

环境测试环境:私有云 Rancher(k8s)集群。正式环境:公有云 Rancher(k8s)集群。测试环境本来可以直接通过 443 端口访问 https,最近端口被封,又不想使用其他端口,因此想通过正式环境将测试环境发布到外网。frpfrp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。关于 frp 的配置和用法,看 官方文档。为了在 k8s 使用,需要制作 Docker 镜

2020-07-26 00:32:50 396 2

原创 MySQL 分区表简单操作记录

详细的介绍可以看:官方文档 - partitioning。分区限制一个表最多1024个分区分区字段中的主键、唯一索引必须包含分区字段分区表无法使用外键约束应用目前有一个工作流的操作日志表已经解决2000W的数据量,查询速度非常的慢,为了解决查询的问题,对此表进行分区操作。分区时建议创建一个 pnull 的空分区和一个 pmax 的最大值分区,pnull 可以在查询被包含进去时数据量很小或者0使得速度更快,pmax可以防止数据超出分区范围后仍然能很好的保留,并且方便后续的分区拆分。如果不能

2020-07-10 12:23:01 1009 1

原创 Harbor 无法下载镜像的一个原因

问题描述无法从 harbor 通过 docker pull 下载镜像。这可能是一个个例,只有特定网络情况下才会发生的问题。由于我这种网络情况下发生了多次,因此有必要记录下来。环境Harbor 通过 https://IP 提供服务,使用自签名的证书。Harbor 有两个网卡,分别是 10.10.1/24 和 10.10.10/24,HTTPS 服务证书指定的 10.10.10/24 的 IP。k8s 新的几个集群都在 10.10.0/24 网段。这几个新的集群都无法从 Harbor 下载镜像。

2020-06-15 12:12:49 674

原创 CentOS 配置 DNS

参考:How to set DNS in CentOS/RHEL 7 & prevent NetworkManager from overwriting /etc/resolv.conf?配置 DNS 时可以直接在网卡上进行配置,例如在 /etc/sysconfig/network-scripts/eth0 中添加:DNS1=x.x.x.1DNS2=x.x.x.2DNS3=x.x.x.3DOMAIN='xxx.com'网卡有了配置后,NetworkManager 会自动将 DNS .

2020-06-12 16:10:58 283

原创 内部 CA 证书管理

内部 CA 证书管理生成 CA 证书# 生成 KEYopenssl genrsa -out ca.key 4096# 生成证书openssl req -x509 -new -nodes -sha512 -days 3650 \ -subj "/C=CN/ST=省/L=市/O=组织/OU=组织单位/CN=常用名(或域名)" \ -key ca.key \ -out ca.crt内部人员需要把该 ca.crt 证书添加到受信任的根证书中,Windows 运行输入 certm

2020-05-28 09:55:09 674

原创 Helm 执行资源的顺序是什么?

我一直很好奇 “Helm 执行资源的顺序是什么?”单纯看 Chart 里面的内容完全看不出来,例如:wordpress直到今天才去搜了搜,发现下面的内容:helm-install-in-certain-order通过上面这篇内容,找到了 Helm2 和 Helm3 的执行和卸载顺序:Helm2: kind_sorter.goHelm3: kind_sorter.go在 Helm3 中的执行顺序定义代码如下:// InstallOrder is the order in wh

2020-05-26 12:35:45 1004

原创 CentOS Linux 内核升级

参考:https://www.kernel.org/http://elrepo.org/tiki/tiki-index.phphttps://www.lijiaocn.com/%E6%8A%80%E5%B7%A7/2019/02/25/centos-kernel-upgrade.htmlhttps://www.cnblogs.com/anliven/p/7944842.html准...

2020-04-27 09:44:26 1225

原创 容器启动失败 ERROR: for log Cannot start service log: OCI runtime create failed: container_linux.go:346

完整错误信息:ERROR: for log Cannot start service log: OCI runtime create failed: container_linux.go:346: starting container process caused “process_linux.go:319: getting the final child’s pid from pipe ca...

2020-04-25 00:00:45 5986

原创 通用 Mapper 进阶实例:为什么好久都没更新了?

写篇博客关于通用 Mapper,通用 Service 方法。可以简单实现同级列表数据的上下拖拽改变顺序。为什么很久没更新?核心已经很完善了,扩展也很容易。实际上我还想精简方法,不想增加过多的方法,有需要的自己扩展。...

2020-03-16 22:40:58 5289 9

原创 MySQL 批量修改表和字段

MySQL 的 information_schema 数据库中包含了大量的元数据,通过这些数据可以方便的获取表和字段的信息,通过组合这些信息可以生成操作表和字段的 SQL。本文只是为了方便自己的记录。由于发现系统多个数据库使用的字符集和排序方式有误,因此要修改错误的这部分表,由于修改表无法直接影响 char, varchar, text 等字符串类型的值,因此这部分字段还需要特殊修改。又因为数...

2020-02-14 14:59:47 893

原创 MySQL JSON 类型用法

MySQL JSON 类型用法存取示例直接使用 通用 Mapper1. 数据库存取使用 MyBatis 操作数据库,针对 JSON 类型字段,提供一个类型处理器用于数据库存取时的数据转换。1.1 类型处理器@MappedTypes({Map.class, JsonObject.class, JsonArray.class, JsonPojo.class})public class ...

2020-02-13 18:23:44 1186

原创 企业 Maven 依赖管理层次结构设计 - 附录

Chat 文章地址: 企业 Maven 依赖管理层次结构设计由于文章涉及内容太多,不想在文章中包含太多基础的内容,但是对于了解不深的人来说,没有这些内容也不容易真正掌握,因此在博客上通过本文附加一些额外的内容来完善上述 Chat。1. 搭建 Nexus 私服下载地址https://www.sonatype.com/download-oss-sonatypehttps://help.s...

2020-01-30 17:15:20 1054

原创 利用 MySQL 复制聚合多个库到同一个数据库

由于微服务分库导致无法跨库(忽略 db_name.table_name 方式)统计查询,因此利用 MySQL 主从复制的方式,将主服务器上的多个数据库同步到从服务器上的单个数据库上,从库设置只读,仅用于统计查询。假设主服务器上有以下数据库:db_a:table_a1table_a2db_b:table_b1db_ctable_c1table_c2下面是简要...

2020-01-19 14:37:54 4064 7

原创 记一次内存溢出排查过程

有一个服务经常会停止服务,一开始没特别注意,出问题就重新部署。后来有一次重启前看了眼 GC,发现一直在 Full GC:[149644.445s][info][gc,start ] GC(2210) Pause Full (Allocation Failure)[149644.447s][info][gc,phases,start] GC(2210) Phase 1: Mark ...

2020-01-17 17:29:45 4905 3

原创 Maven Nexus 2020 大坑紧急扩散:The Central Repository is Moving to HTTPS

如果你在用 Maven 的 Nexus,用 2.x 的低版本,或者 3.x 的高版本,都有可能遇到突然无法通过 Nexus 代理下载依赖的问题。问题症状In Service - Remote Automatically Blocked and Unavailable原因如下:https://support.sonatype.com/hc/en-us/articles/36004128...

2020-01-17 14:28:44 1669

原创 2019 年博客总结

这一年的博客才写了两页多一点,总是能看到 2018 年博客总结,总觉得还没过多久,没想到这么快又一年了。去年写总结时似乎还精力充沛,如今想在业余时间写个博客,更新下开源项目,都得找孩子睡觉的时间,孩子小的时候带着挺累,孩子睡的时候我也想睡。2019 年,都是工作中用到的各种工具,从下文的列表来看,集中在了 Docker,Kubernetes,Rancher,MySQL 等等。唯一一篇特别深入的内...

2020-01-01 16:00:23 1283 9

原创 离线导出和导入 Docker 镜像到仓库

参考 Rancher 离线安装脚本,对脚本进行简化。功能:通过脚本可以从一个镜像仓库(例如 harbor)导出,然后导入到另一个镜像仓库。首先需要整理要导出的镜像列表,写入 docker-images.txt 中,示例如下:10.10.10.233/develop/assets:20191216190210.10.10.233/develop/announcement-service:...

2019-12-19 11:02:27 469

原创 MySQL 备份和还原

针对 linux 上的 MySQL 进行备份还原。备份脚本 mysql-bak.shdb=$1if [ -z $db ] then echo '错误: 清输入表名!' echo '用法: ./mysql-bak.sh db_name' exit 1fiD=$(date +%Y%m%d%H%M)DUMP=/data/mysql-bak/${db}-${D}.tgzecho...

2019-12-06 12:24:55 989

原创 Rancher 两种 Registry 镜像库的区别和用法

Rancher 有两种配置 Registry 镜像库的地方,这两种方式起的作用不同。Rke 配置集群时设置参考:https://rancher.com/docs/rke/latest/en/config-options/private-registries/配置多个RKE支持在中配置多个私有Docker镜像库的功能cluster.yml。通过传递您的镜像库和凭据,它允许节点从这些私有镜...

2019-11-03 11:19:04 3547 2

原创 Harbor Https 私有证书配置注意事项

官方文档:https://github.com/goharbor/harbor/blob/master/docs/configure_https.md想要访问远程的 Harbor,就需要配置 HTTPS 访问。配置过程中,Harbor 服务器和 Docker 客户端都需要进行相应的配置才能让两者互通。首先按照官方文档生成证书(证书名称无所谓)。使用 IP 访问的情况下,所有域名都可以使用该...

2019-11-02 15:40:48 2039

原创 Dubbo 接口异常处理逻辑

API 接口中抛出的异常类型,有一系列的规则,代码在 ExceptionFilter 的 onResponse 中。1. 如果是受检异常(非Runtime)就直接抛出这是因为如果是受检异常,接口定义的 throws 中需要涵盖,调用端需要捕获该异常,该异常一定能访问到。2. RuntimeException 并且接口 throws 时这种情况下,接口指明抛出的异常,调用端也能获取该异常,...

2019-10-30 17:51:10 1369

原创 Dubbo, Hessian 序列化注意事项

最近遇到一个问题,A 服务调用 B 服务时,返回值反序列化时,POJO对象变成了Map类型。在B服务单独测试的时候一直还原不了,在 A 服务进行测试的时候,跟到序列化数据时才看到原因。原因很简单A 服务的接口方法返回的结果是一个接口,接口的实现不在 A 服务的 API 包中,因此在 B 服务找不到该接口真正的实现类,在 B 服务调用接口返回结果反序列化找不到具体的类型时,就会以 Map 类型进...

2019-10-28 19:26:31 1535

原创 Java 操作 office 的辅助工具

当使用 docx4j, poi等工具处理 office 文件时,如果想要实现复杂的功能,使用明面上的简单接口已经很难实现。这个时候如果配合一个工具,按照 XML 结构递归处理,就能实现很多强大的功能。这里说的工具就是 **Open XML SDK 2.5 for Microsoft Office **:下载地址:https://www.microsoft.com/en-us/download...

2019-10-23 16:33:09 986

原创 Jacob 使用细节优化

Jacob 可以用来做很多事,我这里主要用到了通过 office 转 pdf 的功能。在使用过程中,偶尔会出现(1%的概率)进程异常,出现弹框等问题导致程序假死。为了解决类似问题,在使用过程中,可以从以下细节进行优化。1. 只读模式使用 office 时,如果文件被占用,在打开始会弹框进行提示:出现该弹窗后会导致程序卡住不动。如果改为只读模式,就不存在这个问题,代码如下:注意上面...

2019-10-20 23:46:40 1100 3

原创 MySQL 安装和配置

官方文档非常的全面,但是通过常规搜索引擎搜索时很难直接看到,因此本文以官网为主,这里只涉及整个过程的关键部分。官方文档:https://dev.mysql.com/doc/refman/5.7/en/installing.html包含各种操作系统的详细安装步骤。官方下载:https://downloads.mysql.com/archives/这个地址可以选择所有版本进行下载MyS...

2019-10-18 22:20:25 376

原创 Seata 分布式事务功能测试(三)

前置内容:Seata 分布式事务功能测试(一)当前数据库隔离级别为 read_commit,测试调用服务后,再通过服务查询时获取的数据是否正确。//查询当前账户余额Double amount = accountService.getAmount(orderVO.getUserId());logger.info("扣款前余额: " + amount);accountService.de...

2019-10-11 12:04:07 1837 2

原创 Seata 分布式事务功能测试(二)

前置内容:Seata 分布式事务功能测试(一)增加了一个特殊逻辑,只为验证能否多次调用同一个服务。//扣减用户账户//为了测试多次调用同一个服务,这里分成两次扣款TAccountVO accountVO = new TAccountVO();accountVO.setUserId(orderVO.getUserId());Double totalMount = orderVO.ge...

2019-10-11 12:02:13 968

原创 Seata 分布式事务功能测试(一)

分布式事务测试基础代码参考:https://github.com/seata/seata/wiki/Quick-Start本文的测试没有直接使用上面的项目,只是参考表和逻辑在我自己的框架中实现了一遍,实现过程中,还发现一些必要的信息。提醒依赖除了添加 seata-all 的依赖外,默认的 undo 序列化使用的 jackson,因此还需要相关的依赖才能启动成功。部分逻辑修改主要是扣库...

2019-10-11 11:46:17 1956

原创 Seata 分布式事务启动配置分析

想要掌握 Seata 的配置,必须了解 Seata 的启动过程,了解启动时的各项配置,才能在配置时知道该干什么。Server 入口io.seata.server.Server 类是整个服务的入口,从这里的 main 方式入手。public static void main(String[] args) throws IOException { //initialize the met...

2019-10-08 18:04:17 2401

原创 容器网络问题排查常用命令

结合极客时间k8s的课,将其中命令按顺序写下了,结合自己的 rancher 集群去测试每一个命令。尝试无网络情况下安装 rancher。

2019-08-30 21:30:45 744

原创 Spring 执行顺序:@Autowired 和 @Value 注解

回目录代码:https://gitee.com/free/boot-order/tree/master/src/main/java/com/github/abel533/autowired结合 PostProcessor 时的执行顺序InstantiationAwareBeanPostProcessor#postProcessBeforeInstantiation - userExt...

2019-08-29 21:16:15 2708

原创 Spring 执行顺序:Event 事件

回目录代码:https://gitee.com/free/boot-order/tree/master/src/main/java/com/github/abel533/event实现 ApplicationListener 接口,输出所有事件。当以 @Component 方式配置时事件触发顺序如下:ApplicationListener#ContextRefreshedEvent...

2019-08-29 21:14:23 2274

原创 Spring 执行顺序:PostProcessor 接口

回目录代码:https://gitee.com/free/boot-order/tree/master/src/main/java/com/github/abel533/postprocessorPostProcessor 类接口如下所示:其中 BeanPostProcessor 是最常见的一个系列,BeanFactoryPostProcessor 和 EnvironmentPostP...

2019-08-29 21:12:43 2499

SQL转Java代码小工具

可以将多行SQL转换为程序可用的字符串。详情看博客相关文章。

2013-06-08

Excel通用导出excel文件

Excel 通用导出 excel 文件

2013-02-25

vote 投票功能 纯html

附件,相关文章介绍,查看本人CSDN博客:div+css+jQuery简单实现投票功能..

2012-08-15

Excel通用读取模块源码和JAR

由于平时经常需要处理读取Excel,所以写了这样一个小模块来处理读取Excel... 关于写出Excel的功能,以后再写一个通用的。

2012-03-17

读取Excel的POI jar包

读取Excel的必备JAR包,可以从poi官方下载。

2012-03-17

w3school完整版-最新编译-2011-10-7

w3school完整版-最新编译-2011-10-7 和网站上内容一样,方便查看。

2011-10-07

jp.gr.java_conf.ussiy.app.propedit_6.0.3.zip

Eclipse属性资源文件插件。

2016-05-12

isea533的留言板

发表于 2020-01-02 最后回复 2020-01-02

由于本人最近几个月活跃度不够,申请取消博客准专家

发表于 2016-08-10 最后回复 2019-07-03

JAVA-List对象某个字段去重

发表于 2012-10-29 最后回复 2016-06-24

[BUG]CSDN客户端BUG

发表于 2015-06-19 最后回复 2015-06-20

CSDN封goagent了?

发表于 2013-09-16 最后回复 2015-06-19

JAR如何独立运行

发表于 2012-11-09 最后回复 2012-11-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除