key words: 連接池 數(shù)據(jù)庫
發(fā)現(xiàn)一個有意思的現(xiàn)象,好多人在開發(fā)過程中不知道是出于訓(xùn)練自己編碼還是為了重新發(fā)明輪子,總之明明已經(jīng)存在的功能他非要自己實(shí)現(xiàn)一遍。
今天又碰到一個。
jdbc的連接,好多人也喜歡自己實(shí)現(xiàn)一個連接池,但是對于app server來說本身一般都有支持連接池的,為什么不用呢?
寫了一通又長又臭的代碼,自己以為牛B的很,其實(shí)算個球啊。
不要浪費(fèi),不要自己發(fā)明輪子,你不是最牛的,一定還有比你更牛的!
對于weblogic或者oracle以及ibm的產(chǎn)品來說,大家還是比較習(xí)慣于用容器的jndi,但是即使對于tomcat,我個人也建議用tomcat自帶的。
附: jndi連接數(shù)據(jù)庫
public?final?static?synchronized?Connection?getConnection(String?inputJNDI)?throws

??????DBMException?
{
????Connection?conn?=?null;
????String?strConnJNDI?=?null;

????try?
{
??????Context?ctx?=?new?InitialContext();
??????_log.debug(ctx);


??????if?(null?!=?inputJNDI)?
{
????????if(inputJNDI.length()?>?0)
??????????strConnJNDI?=?inputJNDI;
????????else
??????????strConnJNDI?=?dbJndiName;
??????}

??????else?
{
????????strConnJNDI?=?dbJndiName;
??????}
??????DataSource?ds?=?(DataSource)?ctx.lookup(strConnJNDI);
??????_log.debug(ds);
??????conn?=?ds.getConnection();
????}

????catch?(Exception?ex)?
{
??????_log.error("It's?error?to?get?connection",?ex);
??????throw?new?DBMException("Error?to?get?connection");
????}
????_log.debug(conn);
????return?conn;
??}
以此類推,類似于xml解析等的工作也沒有必要自己一步一步地用dom或者什么亂七八糟的sax自己去搞一遍,搞了半天就使為了得到其中的一個value,何苦來著???? 如果你不是為了做研究,那么,效率第一,安全第一.
隨便說說,也許有人不同意我的觀點(diǎn),沒關(guān)系,盡管談?wù)?,哈? :)
發(fā)現(xiàn)一個有意思的現(xiàn)象,好多人在開發(fā)過程中不知道是出于訓(xùn)練自己編碼還是為了重新發(fā)明輪子,總之明明已經(jīng)存在的功能他非要自己實(shí)現(xiàn)一遍。
今天又碰到一個。
jdbc的連接,好多人也喜歡自己實(shí)現(xiàn)一個連接池,但是對于app server來說本身一般都有支持連接池的,為什么不用呢?
寫了一通又長又臭的代碼,自己以為牛B的很,其實(shí)算個球啊。
不要浪費(fèi),不要自己發(fā)明輪子,你不是最牛的,一定還有比你更牛的!
對于weblogic或者oracle以及ibm的產(chǎn)品來說,大家還是比較習(xí)慣于用容器的jndi,但是即使對于tomcat,我個人也建議用tomcat自帶的。
附: jndi連接數(shù)據(jù)庫






































以此類推,類似于xml解析等的工作也沒有必要自己一步一步地用dom或者什么亂七八糟的sax自己去搞一遍,搞了半天就使為了得到其中的一個value,何苦來著???? 如果你不是為了做研究,那么,效率第一,安全第一.
隨便說說,也許有人不同意我的觀點(diǎn),沒關(guān)系,盡管談?wù)?,哈? :)