原创 普元EOS生成WebService時使用自定義實體映射屬性

概述 最近使用普元EOS(下面簡稱EOS),製作Web Service接口供其他系統調用時發現, 使用EOS的DataObject作爲入參報錯, 按官方文檔的示例也依然報錯, 錯誤原因難以查找,便產生自己寫一個JavaBean來實現自定義

原创 Mysql字符串查詢注意事項(空格敏感及部分字段大小寫敏感問題)

在Mysql中對char和varchar字段進行查詢時,如果查詢的字段尾處帶有空格,也是可以查詢到尾處無空格的數據,經過資料查詢後瞭解到,Mysql對字符串查詢是遵循PADSPACE規則——在對字符串進行比較時會忽略字符串的尾空格 但是如

原创 java與Sql Server建立連接異常Could not generate DH keypair及Unsupported curveId: 29

前言 最近在工作中想完成一個java通過jdbc連接SQL Server數據庫導出數據字典的功能時發現本地用jdk8和對應的SQL Server驅動(可通過SQLServer官網或者maven庫下載-mssql-jdbc-8.2.2.jr

原创 工具使用:Oracle數據庫錶轉換爲Mysql

最近新進的一個項目組中,需要將表結構從Oracle數據庫遷移到Mysql,但是由於手動轉換過於麻煩,而且表字段動輒幾十上百個,在網上搜索了使用PowerDesigner進行轉換的方法,並進行實踐。記錄於此,便於尋找。 工具:    Pow

原创 Oracle存儲過程字符串分割爲數組並找到數組是否存在元素

前言 最近有個項目用到了Oracle的數據庫,而且有個歷史數據需要修復,將A字段相同的B字段值合併爲一行並以逗號分隔,但是B字段不能重複,如果單純使用Oracle的INSTR函數,當出現值“aa”和值“aab”時,值“aa”可能會被判斷與

原创 裝飾模式

裝飾器模式概述 裝飾器模式也稱爲包裝模式,適用於在不改變原有類的情況下,增強類對象的功能 UML 結構         組件接口:定義組件應有的功能        具體組件:實現了組件接口,需要被裝飾的對象        裝飾器:抽象類

原创 java數組轉換爲集合-Arrays.asList使用

在日常開發中,經常遇到需要將動態增加數組數據的情況,但是java中的數組的定義如下: Java語言中提供的數組是用來存儲固定大小的同類型元素。(菜鳥教程) 也就是說,數組在聲明時就是固定長度,不可增加或者減少它的長度的。那麼當我們的確

原创 Java報異常時getMessage()方法返回null

有次在查看項目日誌的時候發現getMessage()返回值是null,以爲是代碼寫的有問題,後來發現空指針異常時返回值就是null,雖然問題原因找到,但是感覺在日誌中單單輸出null對我們查看日誌不夠友好,想找到一種更好的方式。 原因 翻

原创 建造者模式

概述 當複雜的構建過程通常不變,改變的只是內部的實現算法和業務邏輯時使用; 將複雜的構建過程和具體的內部實現相分離,使得構建過程公用化。 UML 結構 產品:需要被建造的目標; 抽象建造者:規劃好建造者類的任務,如需要實現A項任務,B項

原创 MySql整型索引和字符串索引失效或隱式轉換問題

問題概述 今天在上班時,DBA突然找出來一段sql,表示該sql存在隱式轉換,不走索引。經過我們的查看後,發現是類型varchar的字段, 我們使用條件傳入了數值型的值,由於擔心違反保密協議,在此就不貼圖了,由我重現一下類似情況給大家看一

原创 MySQL使用UNION連接兩個查詢排序失效

概述 UNION 連接數據集關鍵字,可以將兩個查詢結果集拼接爲一個,會過濾掉相同的記錄 UNION ALL 連接數據集關鍵字,可以將兩個查詢結果集拼接爲一個,不會過濾掉相同的記錄 今天在接到一個需求的時候使用了UNION進行查詢後發現,如

原创 django1.11 啓動錯誤:Generator expression must be parenthesized

錯誤信息: Traceback (most recent call last): File "manage.py", line 22, in <module> execute_from_command_line(sys.ar

原创 MySql查詢整型字段空字符時出現爲0的數據

表結構: -- 表的ddl CREATE TABLE `user_desc` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `USER_NAME` varchar(255) DEFAULT NU

原创 原型模式

原型模式概述 某些特定的時候,我們需要同一個類生成多個相同的對象,或者是基於一個對象生成一個複製對象,並再對複製對象進行修改,這時候就可以使用到原型模式。 UML 一個簡單的示例: package com.prototype; p

原创 代理模式

代理模式概述 客戶端不能直接操作B類(目標類),需要通過A類(代理類)調用B類的實例方法來完成最終的邏輯。其中A類和B類需要繼承同一父級或者同一接口 UML圖 一個簡單的示例: // 客戶端操作類和實際操作類的接口(兩個類都實現這個接