logo头像

From zero to HERO

数据库脚本工单管理工具Yearning

数据库脚本工单管理工具Yearning

平常我们线上执行的SQL脚本都是很粗犷的。呼叫一下DBA或者运维,把脚本发过去,然后告诉他在哪个环境执行。然后双方沟通不畅,测试环境的脚本执行到生产了!脚本写的有问题执行错了却没有回滚脚本!或者...

Mybatis中的Ognl表达式

Mybatis中的Ognl表达式

前言OGNL是个什么东西?很多刚入门Java的同学会有点陌生。 但是在Structs流行的时代OGNL可是必会的数据渲染技术。它全称Object Graph Navigation Languag...

Spring Data Redis使用lua脚本实现抽奖逻辑

Spring Data Redis使用lua脚本实现抽奖逻辑

1. 前言在上一文中我对Lua语言的一些简单的语法及其在Redis中的操作进行了介绍,但是在Java开发中我们还需要进一步的学习才能使这种技术落地。今天就结合Spring Data Redis这...

Redis lua 脚本完全入门

Redis lua 脚本完全入门

1. 前言Redis是高性能的KV内存数据库,除了做缓存中间件的基本作用外还有很多用途,比如胖哥以前分享的Redis GEO地理位置信息计算。Redis提供了丰富的命令来供我们使用以实现一些计算...

如何自动填充SQL语句中的公共字段

如何自动填充SQL语句中的公共字段

1. 前言我们在设计数据库的时候一定会带上新增、更新的时间、操作者等审计信息。 之所以带这些信息是因为假如有一天公司的数据库被人为删了,尽管可能有数据库备份可以恢复数据。但是我们仍然需要追踪到这...

自己动手编写一个Mybatis插件:Mybatis脱敏插件

自己动手编写一个Mybatis插件:Mybatis脱敏插件

1. 前言在日常开发中,身份证号、手机号、卡号、客户号等个人信息都需要进行数据脱敏。否则容易造成个人隐私泄露,客户资料泄露,给不法分子可乘之机。但是数据脱敏不是把敏感信息隐藏起来,而是看起来像真...

使用R2DBC操作MySQL数据库

使用R2DBC操作MySQL数据库

1. 简介三月份已经介绍过R2DBC,它是一种异步的、非阻塞的关系式数据库连接规范。尽管一些NoSQL数据库供应商为其数据库提供了反应式数据库客户端,但对于大多数项目而言,迁移到NoSQL并不是...

一对多分页的SQL应该怎么写?

一对多分页的SQL应该怎么写?

1. 前言MySQL一对多的数据分页是非常常见的需求,比如我们要查询商品和商品的图片信息。但是很多人会在这里遇到分页的误区,得到不正确的结果。今天就来分析并解决这个问题。 2. 问题分析我们先创...

Docker容器启动时初始化Mysql数据库

Docker容器启动时初始化Mysql数据库

1. 前言Docker在开发中使用的越来越多了,最近搞了一个Spring Boot应用,为了方便部署将Mysql也放在Docker中运行。那么怎么初始化 SQL脚本以及数据呢? 我这里有两个传统...