ibatis官方提示文檔中的錯誤
ibatis,***次看到你的時候,我非常的喜歡你,真的是非常喜歡你,因為你雖然不是大家閏秀,但是絕對稱得上是小家碧玉,物別是里面可以靈活應用的SQL語句,可以讓我隨心所欲的操作,那個時候,我就對你是一見鐘情了。于是趕緊從ibatis官方網站上把所需要的文檔全部下載回來,看了一下挺簡單,并按要求把例子的內容導入到了JDEVELOPER里面,這里就不例出來了,需要的朋友我想早就看過了。然后就著手自己寫一個測試例子,如下:
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("test@test.com");
SimpleExample.insertAccount(account);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
運行的時候,總是要報錯,說什么SQL語出錯誤,我的老天,我這可是從ibatis官方弄來的,沒有一點點違約,剛開始還以為是自己那里做錯了,可是翻譯了網上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();
}
}
}
沒得問題的,可以通過,并且可以查尋出結果,這就說明ibatis官方各方面的配置如數據源及JDBC都是正確了的,那么肯定是插入的某個地方出問題了,不是提示說SQL語句出問題了嗎,那就去看看,當我去打開Account.xml文件查看到插入部份的時候,如下圖:
請仔細看一下,是不是在ACC_EMIAL的后面沒有括號,于是我把括號加上,一試,萬事OK。
測試是通過了,心里面也有幾分感嘆,我不知道ibatis官方是否真的是這個示例當成了回事,還是因為它上面有一本名為“ibatis in action”的書的原因,是希望我們在出問題的時候去購買這本書嗎???反正這是被欺負夠了,自己又沒有這個能耐去寫這么一個東東。