基本上在Oracle上,不像SQL Server或DB 2有Identity的功能
沒有支援Auto Increment的功能,不過,這個功能真的還蠻常用的
不過其實還有有其它的技巧可以達成這件事的,比如使用下面參考資料的Trigger,不過,我個人比較喜歡單純一點的做法,在建立Table後,再建立Sequence,而在Insert的時候再使用Sequence.NEXTVAL取值的方式
CREATE TABLE TableName
(
Column1 NUMBER NOT NULL,
Column2 VARCHAR2(11) NOT NULL,
CONSTRAINT TableName_PKEY PRIMARY KEY(Column1)
);
CREATE SEQUENCE TableName_SEQ;
INSERT INTO TableName (Column1, Column2)
VALUES(TableName_SEQ.NEXTVAL, 'Column2Value');
參考資料:
https://oracle-base.com/articles/misc/autonumber-and-identity
2015年10月30日 星期五
2015年10月27日 星期二
Tomcat JNDI設定
之前工作主要是用Spring的方式來設定資料庫,將連線的相關資訊另外寫到參數檔中,現在因為工作需要,所以需要設定一下JNDI,之前在用JBoss的時候,大概就有用過了,只是換到Tomcat上,還是要找一下資料來設定,其實細節大概看一下,下面的參考資料就知道怎麼用了,至於要怎麼做,就看環境和需求來取捨吧。
只是想說,不管是用Spring設定,或是AP Server設定,各有優缺點,畢竟Spring的設定方式也是蠻簡單的就是了,但設定在AP Server上,可以將資料庫連線的細節交給DB,實務上也不需要分成開發環境或是線上環境的連線設定檔了,當然,其實也可以說只是把設定檔移至AP Server上就是了 冏。
其實還有不少東西可以丟給AP Server來處理,比如log或是MQ,不過就我個人觀點,不管是用Spring或是AP Server的方式,工作loading都不會減輕丫!只是單純的將業務邏輯無關的部分從程式中抽離就是了。
參考資料:
http://fanli7.net/a/fuwuqiruanjian/Tomcat/20120701/179189.html
https://tomcat.apache.org/tomcat-7.0-doc/jndi-datasource-examples-howto.html
只是想說,不管是用Spring設定,或是AP Server設定,各有優缺點,畢竟Spring的設定方式也是蠻簡單的就是了,但設定在AP Server上,可以將資料庫連線的細節交給DB,實務上也不需要分成開發環境或是線上環境的連線設定檔了,當然,其實也可以說只是把設定檔移至AP Server上就是了 冏。
其實還有不少東西可以丟給AP Server來處理,比如log或是MQ,不過就我個人觀點,不管是用Spring或是AP Server的方式,工作loading都不會減輕丫!只是單純的將業務邏輯無關的部分從程式中抽離就是了。
參考資料:
http://fanli7.net/a/fuwuqiruanjian/Tomcat/20120701/179189.html
https://tomcat.apache.org/tomcat-7.0-doc/jndi-datasource-examples-howto.html
2015年10月26日 星期一
Package naming
package主要的目的是避免相同名稱的Class發生衝突,因此可以避免開發上麻煩
不過,基本上大部分的人都是重視類別、方法、變數上的命名,不過也是因為套件的命名
其實也蠻少會做什麼特別的變動
基本上,我以前也是亂命名套件的名稱,比如tw.bill.xxx
但,現在覺得tw的意思不大,如果是公司的話應該用com,組織的話就org,個人的話…
有想到pri,但如果是要推個人做的產品的話,目前還沒有想到好的單字,可能就還是先用pri吧,而第二個單字,一般就是公司名,或是省略,直接接產品名
再來呢,就會區分功能區塊了,而功能區塊下,
又會根據其特性,再進行細分,基本上就是這樣啦
另外,至於interface和實作是否要分開,個人會比較覺得分開會比較好,而實作再跟據其對應的對像進行package的分類,不過,這也只是我比較常遇到的清況,
也可以根據功能進行package區分就好,然後Interface和實作可以放在一起,看那種方式最適合實際情況吧
另一個情況要思考的是,關於繼承關系的package分類,這個可以參考一下java api的分類方式,可以看以我個人最常用的ArrayList和其父介面Collection,
嗯…都放在同一個package中,或許這是一個最簡單的作法
思考過多,反而會造成使用上的困難,但這是對外公開的介面,實際上或許package內部,也隱藏著不為人知的祕密吧XD
關於溝通
其實,這篇沒什麼內容,可能比較適合po在plurk之類的
主要是想說關於溝通的一些想法
之前聽過一個說法是說,人其實對於對方說的不能百分之百完全了解
忘記是50%還是多少百分比了
只是,對某些人聽了某些問題,說我懂了
但問他,他也說不出個什麼毛來
也有的人,可以馬上嘴出一個長篇大論,但狗屁不通
有的人,明明聽的時候,明明就在睡覺,
但問他,又可以說的頭頭是道,可能比較講者說的還好…
或許,在底層有些共同的道理存在吧…
只是想說,一知半解是很可怕的一件事情
但對某些人愛面子的人來說,說不知道可能是很難的一件事吧
不過,學著試著去表達自已的想法,就算錯了,也沒關係
也比裝著自已很懂的樣子,但說不出個毛來的好…
主要是想說關於溝通的一些想法
之前聽過一個說法是說,人其實對於對方說的不能百分之百完全了解
忘記是50%還是多少百分比了
只是,對某些人聽了某些問題,說我懂了
但問他,他也說不出個什麼毛來
也有的人,可以馬上嘴出一個長篇大論,但狗屁不通
有的人,明明聽的時候,明明就在睡覺,
但問他,又可以說的頭頭是道,可能比較講者說的還好…
或許,在底層有些共同的道理存在吧…
只是想說,一知半解是很可怕的一件事情
但對某些人愛面子的人來說,說不知道可能是很難的一件事吧
不過,學著試著去表達自已的想法,就算錯了,也沒關係
也比裝著自已很懂的樣子,但說不出個毛來的好…
2015年10月2日 星期五
訂閱:
文章 (Atom)