原创 重新學習Mybatis(四)(JDK模式詳解)

重溫一下代理模式、以及自己在理解代理模式中存在的誤區。 記得在大學的時候學校spring的時候,spring的好多特性都是依賴於JDK的動態代理。後來慢慢寫代碼就出現了至今都流行的代碼結構。 controller->service->da

原创 重新學習Mybatis(二)

這裏主要分析Mybatis是如何把我們的參數和SQL拼接成一起的?上一篇文章說到,insert操作最關鍵的步驟是SimpleExecutor.doUpdate()方法裏的兩行代碼,return 那裏和return上面的一行代碼。以下代碼均

原创 記錄SQL Server向MySQL數據庫導入數據過程(SQL Server服務器拒絕連接解決方式、MySQL大數據批量導入)

我司現在全面切換MySQL,因此,原來部分的SQLserver的數據要導入到MySQL中。 導數據工具用的是Navicat的導入嚮導。 1.右擊表選擇 導入嚮導 2.選擇ODBC,進入,選擇SQL Server 3.輸入SQL Serve

原创 springboot的異步調用@Async和事務@Transactional註解的注意事項

場景描述:我司最近要做一個上傳Word轉圖片,實現預覽Word的功能,整體流程爲用戶前端上傳word文件,上傳成功之後即提示成功,Java後臺異步調用轉圖片服務。 僞代碼: controller層:接收上傳文件 serviceImpl層:

原创 重新學習Mybatis(三)

第二篇分析了Mybatis是如何把SQL和參數根據TyperHandler一一設值,並且如何實例化PrepareStatement對象的,和獲得數據庫連接的。 一開始我看源碼的時候我在思考一個問題,Mybatis是在什麼時候?如何拿到這些

原创 重新學習Mybatis(五)

本篇主要分析第二種實現方式(*Mapper mapper = sqlSession.getMapper(*Mapper.class)是如何實現的. 普通的JDK動態代理基本由以下幾部分構成 一個接口ProxyService public

原创 MySQL主從複製(詳細過程以及從庫不能同步的解決辦法)

前面已經在本地搭建了多個MySQL的實例,可以用這些實例進行主從複製。 主要是三個線程,主庫上的binlog dump線程、從庫I/O線程、從庫SQL線程 端口3306的MySQL實例作爲主服務器(master),端口3307、3308的

原创 ShardingSphere(四)數據脫敏-實現自定義加密策略

文章目錄ShardingSphere(四)數據脫敏-實現自定義加密策略背景自定義加密策略一實現Encryptor接口在配置文件中配置(基於SpringBoot YAML)遇到的問題以及定位過程在resource目錄下新增配置驗證自

原创 Seata分佈式事務使用(seata-server安裝、啓動、以及AT模式使用)

在微服務中,以springcloud爲例,多個微服務之間通過OpenFeign的方式調用。 現有微服務A、B兩個,a爲A中的事務方法,b是B中的事務方法,假設在A中有一個業務方法businessA,需要調用a,b來完成正常的業務流程處理。

原创 數據庫中間件ShardingSphere-ShardingJdbc使用(一)數據分片

背景: 我們實際開發中,總有幾張和業務相關的大表,這裏的大表是指數據量巨大。如用戶表、訂單表,又或者公司業務中的主表,可能很快這種表的數據就達到了百萬、千萬、億級別的規模,並且增長規模一直很快。這種情況下,單表已經滿足不了了存儲需求了,同

原创 Docker的使用(Docker中的網絡配置)

第一種:默認模式,即 docker run -it --name containerName image:tag,創建容器是不指定,由docker自由分配 1.docker 容器啓動時,docker會默認分配一個ip,進入containe

原创 SkyWalking的簡單入門

文章目錄SkyWalking 入門使用背景安裝Elasticsearch並啓動安裝SkyWalking並啓動配置SpringCloud微服務的Agent查看SpringCloud的鏈路調用單個微服務調用監控微服務之間調用鏈路監控全

原创 Git基本使用以及如何向開源項目提交PR(常見問題整理-超實用)

文章目錄Git基本使用以及如何向開源項目提交PR目標Git 基本操作GitHub常用操作問題GitHub clone到本地太慢,經常失敗怎麼辦?那麼如何同官方的倉庫保持同步呢?結束 Git基本使用以及如何向開源項目提交PR 目標

原创 shiro使用(使用token預熱,爲什麼要使用token)

既然要做,就做的細緻一點,對得起自己! 常見問題:1.是否思考過傳統web項目是如何進行請求合法性的驗證?請看第一部分                   2.是否認真思考過token和Session相比真正的優勢在哪裏?請看簡單總結  

原创 數據庫中間件ShardingSphere-ShardingJdbc使用(三)數據脫敏

背景:   對於用戶的個人敏感信息,如密碼、身份證號、家庭住址等信息,在進行存儲數據庫之前,都需要進行加密。使得即使存入數據庫之後,數據庫的管理員看到的數據也是加密的。這一過程叫做數據脫敏。 一些安全框架如shiro、spring sec