用NetBeans6.7.1开发iBATIS3程序

长平狐 发布于 2012/08/28 16:37
阅读 155
收藏 0

这真是一个艰难的探索,iBATIS也许是个不错的Framework,但是文档写的很不好,从头到尾都缺少一个完整的例子。如果习惯了微软MSDN和NetBeans.org上面的文章风格,你会觉得iBATIS的文章作者真的是不懂如何写文章。iBATIS文章中很多例子片段都不能使用,不知道为什么?
    先交代一下开发环境:UBuntu9.10 AMD64 英文版 + NetBeans6.71. + JDK1.6 +iBATIS 3.0.0.211。
第一步,获取最新的iBATIS源代码
为什么要获取最新源代码,因为我用Beta5的jar包总是出错,我怀疑有bug。当我取得了最新源代码,并编译后,问题解决了。所以我猜测是Beta5有问题,当然也许不是。
首先安装subversion,通过命令sudo apt-get install subversion
然后调用命令获取最新代码 svn checkout http://svn.apache.org/repos/asf/ibatis
代码获取完成后,会在当前目录下发现有一个ibatis目录

第二步,安装ant
windows下面安装方式参考我的另一文章,UBuntu下生活很轻松:sudo apt-get install ant

第三步,进入ibatis/java/ibatis-3/trunk 目录,运行ant命令
期间,会进行编译(还会自动下载一些东西),运行unit test,
最后结果可能会有些错误,不管它,检查一下ibatis/java/ibatis-3/trunk/build/ibatis-3-core/dist目录,看是否存在ibatis-3-core-3.0.0.211.zip文件,如果有就成功了

第四步,解压ibatis-3-core-3.0.0.211.zip文件

第五步,启动NetBeans6.7.1,创建一个新的Class Library叫iBATIS3.0Beta5,设置相关jar包文件和源代码,如下图:

 





第六步,创建一个Java Application工程T1
加入iBATIS3.0Beta5库,因为我要连接的是MySQL数据库,所以也要加入MySQL JDBC库

第七布,配置xml文件
创建两个xml文件,一个负责数据库配置,一个负责进行SQL查询
先创建xml 包,然后创建sqlMapConfig.xml文件,内容如下:


    可以右键点击xml文件,然后选择Validate xml菜单进行验证。
现在在xml包下创建user.map.xml文件,内容如下:



    这里有一个select语句,返回的是bean包下的User对象,namespace加上id是我们后面调用代码的参数:
先看以下User类:


package bean;


public class User {
    private String personID;
    private String password;
    private String sex;


    public String getPersonID() {
        return personID;
    }


    public void setPersonID(String personID) {
        this.personID = personID;
    }

 
    public String getPassword() {
        return password;
    }


    public void setPassword(String password) {
        this.password = password;
    }


    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }
}

现在在Main类里面完成调用代码:
package t1;

import bean.User;
import java.io.IOException;
import java.io.Reader;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;


public class Main {

    public static void main(String[] args) throws IOException {
        String resource = "xml/sqlMapConfig.xml";
        Reader reader = Resources.getResourceAsReader(resource);
        SqlSessionFactory sqlMapper = new SqlSessionFactoryBuilder().build(reader);
        SqlSession session = sqlMapper.openSession(true);

        try {
            User user = (User) session.selectOne("bin.UserMapper.getUser", "chenshu");
            System.out.println(user.getPersonID());
            System.out.println(user.getPassword());
            System.out.println(user.getSex());
        } finally {
            session.close();
        }
    }
}

运行结果:
run:
chenshu
1
male


数据库很简单,就不要介绍了,大家能猜出来吧?

就这个东西,我搞了10个小时,真是恨阿!特写此文章,作为纪念。













原文链接:http://blog.csdn.net/sheismylife/article/details/4778857
加载中
返回顶部
顶部