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”的书的原因,是希望我们在出问题的时候去购买这本书吗???反正这是被欺负够了,自己又没有这个能耐去写这么一个东东。