原创 SpringBoot Druid Mysql數據庫連接配置詳記

背景配置配置說明官方文檔 背景 最近程序在服務器上運行,總是出現數據庫連接斷開的問題,常見異常如下,所以專門來規範一下配置。 2020-03-31 18:08:03.253 ERROR [DruidPooledStatement

原创 【踩坑記錄】Sharding-JDBC(3.0.0)之分佈式主鍵衝突

目錄 背景 問題排查 解決 生成workId 配置workId 背景 因爲業務數量較大,單表影響查詢性能,採用了單庫分表解決。引入了sharding-jdbc插件進行分表下的數據庫操作。生產環境都是分佈式部署服務的,有兩臺機器。最近有併發

原创 【踩坑記錄】Sharding-JDBC(3.0.0)之單庫分表

一、背景         最近的應用場景中,遇到了單表數據量太大,影響效率,分表的情況。所以就出現了“單庫分表”這個需求。一開始我是自己寫的工具類,但是這樣業務代碼就不簡潔,每次CRUD操作之前都要自己計算表名。更嚴重的問題是我沒有考慮到

原创 【Java基礎】序列化與反序列化(一)

目錄 背景 概念 什麼是序列化與反序列化? 如何實現序列化? 爲什麼要進行序列化與反序列化? serialVersionUID是什麼? 參考 背景 代碼堆多了,基礎反而都還給老師了。只是憑習慣,默認會給DO實體加上 implements

原创 《代碼精進之路:從碼農到工匠》讀書筆記

目錄 背景 第一部分 技藝 第1章 命名 命名的作用 命名規則 第2章 規範 第3章 函數 第4章 設計原則 第5章 設計模式 第6章 模型 第7章 DDD的精髓 第二部分 思想 第一部分 實踐   背景 實際開發一年了,自評開發習慣不好

原创 【踩坑記錄】Sharding-JDBC(4.0.0)之單庫分表

目錄 背景 實踐 依賴 配置 workerId處理 總結 參考 硬廣 背景 之前由於有分表的需求,使用了sharding-jdbc,版本是3.0.0。前幾天有一波高併發的調用,發現sharding-jdbc內部有報錯(具體信息如下),也沒

原创 【求關注】阿雪也有公衆號啦!!!

號外!號外!阿雪也有公衆號啦!【雖然纔剛剛開始x 受到大佬的鼓舞和激勵,搞了個公衆號,會對博客中的內容進行整合和優化後發表在公衆號上,規劃的內容有後端技術、其他有趣的技術(比如PS)、生活相關(比如做飯)、答疑解惑(其實是互相幫助)、讀書

原创 【踩坑記錄】SpringBoot整合Mybatis常見問題

問題一:Mapper類 autowired失敗 原因:掃描mapper包沒有配置或配置不正確 解決: 方案一: 1. 啓動類加@MapperScan("mapperPackagePath") 方案二: 增加配置類:  package c

原创 【Java】使用AOP進行異常處理與日誌記錄

目錄 背景 RPC接口 原因 實現 自定義註解 切面 Web接口 原因 實現 自定義註解 切面 建議 參考 背景 最近在讀《代碼精進之路 從碼農到工匠》,書中有講到異常規範和日誌規範,大致是下面這幾點: 自定義BusinessExcept

原创 【Java基礎】序列化與反序列化

目錄 背景 概念 什麼是序列化與反序列化? 如何實現序列化? 爲什麼要進行序列化與反序列化? serialVersionUID是什麼? 參考 背景 代碼堆多了,基礎反而都還給老師了。只是憑習慣,默認會給DO實體加上 implements

原创 【Exceptipn(一)】unchecked Exception 與 checked Exception

目錄 背景 概念 checked Exception unchecked Exception 使用 參考 背景 最近在讀《代碼精進之路 從碼農到工匠》,在異常規範中有講到,建議使用unchecked Exception,而不是checke

原创 【Java反射(一)】獲取及設置屬性值

目錄 背景 獲取屬性值 設置屬性值 完整代碼 參考 背景 反射說起來還是上學時候剛學java基礎的時候寫過單測,之後就再也沒用過了,全還給老師了。最近在項目裏遇到了一個場景,需要對多個類的相同字段進行相同的邏輯處理,而這些類有些已經繼承了

原创 日誌等級及使用

  目錄 背景 日誌等級 ERROR WARN INFO DEBUG 日誌輸出等級設置 背景 目前工程裏的日誌打印級別比較混亂,本人對日誌等級的區分也不是很清晰。看了一些文章,正好最近在讀《代碼精進之路 從碼農到工匠》,書裏有講日誌規範的

原创 MyBatis 懶加載 一級緩存 二級緩存(一)

目錄 背景 MyBatis 懶加載 MyBatis 一級緩存 MyBatis 二級緩存 背景 最近在讀《Spring+MYBatis企業應用實戰》(別問我爲什麼要看這麼舊的書,因爲我只是一個小垃圾),裏面講到了懶加載、一級緩存、二級緩存,

原创 【踩坑記錄】Sharding-JDBC之分佈式主鍵衝突

目錄 背景 問題排查 解決 生成workId 配置workId 背景 因爲業務數量較大,單表影響查詢性能,採用了單庫分表解決。引入了sharding-jdbc插件進行分表下的數據庫操作。生產環境都是分佈式部署服務的,有兩臺機器。最近有併發