jackson序列化时区问题
念人之过必忘人之功——佚名 今天发现返回给前端的Date和数据库中查到的时间对不上 排查发现是Jackson指定时区问题,原先用的GMT+8,但数据库是Asia/Shanghai 123ObjectMapper shanghaiObjectMapper = new ObjectMapper() .setTimeZone(TimeZone.getTimeZone("Asia/Shanghai")) .setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")); 引用:https://alphahinex.github.io/2021/10/31/difference-between-gmt-plus-8-and-asia-shanghai/ 里面提到的 GMT+8 和 Asia/Shanghai 的区别 GMT+8 因为没有位置信息,所以无法使用夏令时 Asia/Shanghai 使用夏令时 时间戳字符串中不包含时区...
spring-batch批量处理
没有一个人能真正理解另一个人的烦恼或喜悦——舒伯特 按照文档:https://spring.io/guides/gs/batch-processing/ 新建一个项目 勾选Spring Batch以及HyperSQL Database 点击create 在resources下面新建我们的数据文件 sample-data.csv 12345Jill,DoeJoe,DoeJustin,DoeJane,DoeJohn,Doe schema-all.sql 1234567DROP TABLE people IF EXISTS;CREATE TABLE people ( person_id BIGINT IDENTITY NOT NULL PRIMARY KEY, first_name VARCHAR(20), last_name VARCHAR(20)); 然后新建一个Person业务类 12345678910111213141516171819202122232425262728293031323334353637package com.example....
electron-egg
醉过才知酒浓,爱过才知情重。你不能做我的诗,正如我不能做你的梦。——胡适 分享一个入门简单、跨平台、企业级桌面软件开发框架。 https://gitee.com/dromara/electron-egg 📦 特性 🍄 跨平台:一套代码,可以打包成windows版、Mac版、Linux版、国产UOS、Deepin、麒麟等 🌹 简单高效:只需学习 js 语言 🌱 前端独立:理论上支持任何前端技术,如:vue、react、html等等 🌴 工程化:可以用前端、服务端的开发思维,来编写桌面软件 🍁 高性能:事件驱动、非阻塞式IO 🌷 功能丰富:配置、通信、插件、数据库、升级、打包、工具… 应有尽有 🌰 安全:支持字节码加密、压缩混淆加密 💐 功能demo:桌面软件常见功能,框架集成或提供demo 🌻 更多功能请看文档 官方文档:https://www.yuque.com/u34495/mivcfg
spring cache使用redis
乐观意味着不对无可奈何的事情怨天尤人。怨天尤人是那些失去自我信赖的人的接口——雷音 首先引入redis、json依赖 12345678<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-json</artifactId></dependency> 然后进行配置 123456789101112131415161718192021222324252627282930313233package com.ruben.simplecache;impo...
Cacheable CacheEvict CachePut
看书和学习是思想的经常营养,是思想的无穷发展——冈察洛夫 昨天写了spring caching简单入门 今天把省下俩注解也说了 一共是 @Cacheable加缓存(缓存获取不到就调用方法获取结果再放入缓存) @CachePut更新缓存,我下方的用法有误,应该和其余俩注解应用的方法参数保持一致,见后续博客 @CacheEvict删缓存 我们在Repository实现类加上这几个缓存注解 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950package com.ruben.simplecache;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.cache.annotation.CacheEvict;import org.springframework.cache.annotation.CachePut;import org.spring...
spring caching
凡事必须要有统一和决断,因此,胜利不站在智慧的一方,而站在自信的一方。——拿破仑 官方文档:https://spring.io/guides/gs/caching/ 引入依赖: 1234<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-cache</artifactId></dependency> 准备一个Book类 12345678910111213141516171819202122232425262728293031323334package com.example.caching;public class Book { private String isbn; private String title; public Book(String isbn, String title) { this.isbn = isbn; ...
mybatis SQL类
对于不屈不挠的人来说,没有。——俾斯麦 分享一个mybatis在代码里编写sql的方法 官方文档:https://mybatis.org/mybatis-3/zh/statement-builders.html SQL 语句构建器问题Java 程序员面对的最痛苦的事情之一就是在 Java 代码中嵌入 SQL 语句。这通常是因为需要动态生成 SQL 语句,不然我们可以将它们放到外部文件或者存储过程中。如你所见,MyBatis 在 XML 映射中具备强大的 SQL 动态生成能力。但有时,我们还是需要在 Java 代码里构建 SQL 语句。此时,MyBatis 有另外一个特性可以帮到你,让你从处理典型问题中解放出来,比如加号、引号、换行、格式化问题、嵌入条件的逗号管理及 AND 连接。确实,在 Java 代码中动态生成 SQL 代码真的就是一场噩梦。例如: 1234567891011String sql = "SELECT P.ID, P.USERNAME, P.PASSWORD, P.FULL_NAME, ""P.LAST_NAME,P.CREAT...
一个js视差动画
人生碌碌,竞短论长,却不道荣枯有数,得失难量。——《浮生六记》 分享一个js视差动画:https://codepen.io/isladjan/details/abdyPBw 滑动会出现各种动画效果,非常的好玩
easy-trans
我参加了他的葬礼,在一个工作日的上午。——布里特·彼得《造船厂:脚手架装配作业》 分享一个框架easy-trans gitee:https://gitee.com/dromara/easy_trans 插件文档:http://easy-trans.fhs-opensource.top/ easy trans适用于5种场景1 我有一个id,但是我需要给客户展示他的title/name 但是我又不想自己手动做表关联查询2 我有一个字典码 sex 和 一个字典值0 我希望能翻译成 男 给客户展示。3 我有一组user id 比如 1,2,3 我希望能展示成 张三,李四,王五 给客户4 我有一个枚举,枚举里有一个title字段,我想给前端展示title的值 给客户5 我有一个唯一键(比如手机号,身份证号码,但是非其他表id字段),但是我需要给客户展示他的title/name 但是我又不想自己手动做表关联查询 食用步骤技术经理/架构 需要做的事情1 、先把maven 引用加上(注意,阿里云Maven仓库因为阿里本身软件升级所以暂时无法同步中央仓库的新发布...
js获取元素相对于document的坐标
孤独没有什么不好。使孤独变得不好,是因为你害怕孤独。——《孤独六讲》 代码如下: 12345const getOffset = el => { const { left, top } = el.getBoundingClientRect() const { scrollTop, scrollLeft } = document.body return { top: top + scrollTop, left: left + scrollLeft }} 使用: 123456789101112131415161718192021222324252627<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content...
