初學iBATIS的朋友,如果你不看我這篇文章,你一定後悔,因為它官方文件裡面的示例少一個
iBATIS,第一次看到你的時候,我非常的喜歡你,真的是非常喜歡你,因為你雖然不是大家閏秀,但是絕對稱得上是小家碧玉,物別是裡面可以靈活應用的SQL語句,可以讓我隨心所欲的操作,那個時候,我就對你是一見鍾情了。於是趕緊從你的官方網站上把所需要的文件全部下載回來,看了一下挺簡單,並按要求把例子的內容匯入到了JDEVELOPER裡面,這裡就不例出來了,需要的朋友我想早就看過了。然後就著手自己寫一個測試例子,如下:
(我且已經按規定建立了資料庫,且插入了兩條記錄,可以參看我的第一個iBATIS測試就通不過 裡面記錄了我痛苦的過程)
package com.mydomain.data;import java.sql.SQLException;import com.mydomain.domain.*;public class Test { public static void main(String[] args) { try { Account account=new Account(); account.setId(3); account.setFirstName("TestFirst"); account.setLastName("testLast"); account.setEmailAddress("
執行的時候,總是要報錯,說什麼SQL語出錯誤,我的老天,我就是按您的要求做的,沒有一點點違約,剛開始還以為是自己那裡做錯了,可是翻譯了網上N多個例子,也是這樣的,可心裡就在納悶,為什麼別人都是可以通過,而我的就通不過呢?老天不會總是這麼對不起我吧。昨天把頭都弄大了,確實沒有辦法,因為這個東西也確實是第一次接觸,真的是“牛吃藍瓜,不知道從何著手”;把問題貼到論壇上去,理都沒有人去理的,難道沒有一個人遇到過這樣的問題,還是因為這個問題大家早就發現了,沒法只有帶著鬱悶的心情回去睡覺了。
今天晚上又是花了幾個小時,終於想想試試查尋看能不能通過,示例如下:
package com.mydomain.test;import com.mydomain.data.SimpleExample;import com.mydomain.domain.*;public class Test { public static void main(String[] args) { Account account = new Account(); try { int id = 1; account=SimpleExample.selectAccountById(id); System.out.println(account.getId()); System.out.println(account.getFirstName()); System.out.println(account.getLastName()); System.out.println(account.getEmailAddress()); } catch (Exception e) { e.printStackTrace(); } }}
沒得問題的,可以通過,並且可以查尋出結果,這就說明各方面的配置如資料來源及JDBC都是正確了的,那麼肯定是插入的某個地方出問題了,不是提示說SQL語句出問題了嗎,那就去看看,當我去開啟Account.xml檔案檢視到插入部份的時候,如下圖:
請仔細看一下,是不是在ACC_EMIAL的後面沒有括號,於是我把括號加上,一試,萬事OK。測試是通過了,心裡面也有幾分感嘆,我不知道iBATIS的示例是否真的是這個示例當成了回事,還是因為它上面有一本名為“iBATIS IN ACTION”的書的原因,是希望我們在出問題的時候去購買這本書嗎???反正這是被欺負夠了,自己又沒有這個能耐去寫這麼一個東東。