`
harrison2010
  • 浏览: 106077 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

iBatis(另一种映射)

阅读更多
iBatis是又一个O/R Mapping解决方案,j2ee的O/R方案真是多,和Hibernate相比,iBatis最大的特点就是小巧,上手很快。然后注意到这个配置文件还引用了一个Account.xml,没错,iBatis把每个需要O/R Mapping的Java对象关联到一个xml配置文件,我们需要把一个Account表映射到一个Account类:try { Account accout = (Account)sqlMap.try { Account account = new Account();需要注意的是使用iBatis 2.0和1.0有较大区别,主要体现在配置文件上,iBatis 2.0新增了DAO框架,不需要Spring提供的DAO也能很方便地实现DAO模式。


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("test@test.com");
   SimpleExample.insertAccount(account);
  } catch (SQLException e) {  
   e.printStackTrace();
  }
}
}

运行的时候,总是要报错,说什么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”的书的原因,是希望我们在出问题的时候去购买这本书吗???反正这是被欺负够了,自己又没有这个能耐去写这么一个东东。
1
2
分享到:
评论

相关推荐

    ibatis学习总结

    相对于Hibernate和Apache OJB等“一站式”ORM解决方案而言,IBatis是一种“半自动化”的ORM实现。 这个框架将让你能够更好的在JAVA应用中设计和实现实体层。这个框架有两个主要的组成部分,一个是SQL Maps,另一个...

    流风通用管理框架源码

    iBATIS作为一种独特的Data Mapper,使用SQL映射的方式将对象持久化至关系型数据库。简单的理解就是它将我们在数据访问层实现的C#逻辑代码,变为通过关系数据库与对象的映射,将SQL逻辑放到外部的XML配置文件中,以...

    流风通用管理框架(源码+数据库)

    iBATIS作为一种独特的Data Mapper,使用SQL映射的方式将对象持久化至关系型数据库。简单的理解就是它将我们在数据访问层实现的C#逻辑代码,变为通过关系数据库与对象的映射,将SQL逻辑放到外部的XML配置文件中,以...

    BATIS介绍.

    映射另一种技术跟hibernate稍有不同

    通用管理框架源码下载 

    为一种独特的Data Mapper,使用SQL映射的方式将对象持久化至关系型数据库。简单的理解就是它将我们在数据访问层实现的C#逻辑代码,变为通过 关系数据库与对象的映射,将SQL逻辑放到外部的XML配置文件中,以方便以后...

    通用管理框架正式版1.1源码

    为一种独特的Data Mapper,使用SQL映射的方式将对象持久化至关系型数据库。简单的理解就是它将我们在数据访问层实现的C#逻辑代码,变为通过 关系数据库与对象的映射,将SQL逻辑放到外部的XML配置文件中,以方便以后...

    springmybatis

    MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录. orm工具的基本思想 无论是用过的hibernate,mybatis,你都可以法相他们有一个...

    Spring中文帮助文档

    13.5.3. 重定向(Rediret)到另一个视图 13.6. 本地化解析器 13.6.1. AcceptHeaderLocaleResolver 13.6.2. CookieLocaleResolver 13.6.3. SessionLocaleResolver 13.6.4. LocaleChangeInterceptor 13.7. 使用...

    Spring API

    13.5.3. 重定向(Rediret)到另一个视图 13.6. 本地化解析器 13.6.1. AcceptHeaderLocaleResolver 13.6.2. CookieLocaleResolver 13.6.3. SessionLocaleResolver 13.6.4. LocaleChangeInterceptor 13.7. 使用...

Global site tag (gtag.js) - Google Analytics