mybatis 对接oracle 11g 工程搭建简介

一  本帖适用范围  本帖适用于完全不熟悉或者稍微熟悉mybatis的初学者。

二  本帖目的:因公司开发需要,作者被迫对mybatis框架进行学习和研究,曾用1天甚至更长时间阅读大量书籍,视  频,帖子等。竟惊奇的发现所有的资料都是只言片语,模糊其词,读其文章不仅起不到任何帮助,反而侮辱其他,故而在作者成功搭建起mybatis环境后,忍不住想和大家共同分享经验并同时记录个人成长之历程。如果此贴对您有丝毫之帮助,则在下不胜激动;若是没有起到应有之作用,还请万分之海涵。

三  本帖所讲内容前提条件

       1. 有oracle 11g环境且在本地成功安装。

       2. 成功安装J2EE,并成功建立java project(其他工程,例如web,亦可)。

       3. 有mybatis及oracle驱动相关jar包(本帖所用到的是mybatis-3.3.0.jar和 ojdbc6.jar)。 

四 添加jar包:

       1. 通过  右键 工程-->new-->Folder 的方式在工程下创建一个叫做 lib 的文件夹。

       2. 将 mybatis-3.3.0.jar和 ojdbc6.jar 包拷贝到lib目录下。

       3. 选中两个jar包,右键-->build path-->add to build path。  

    结果见下图

    mybatis 对接oracle 11g 工程搭建简介mybatis 对接oracle 11g 工程搭建简介

五  创建oracle 表 userAll 并向其中任意添加数据

     在sql develop上通过下图中的命令生成一个具有两条数据的表

     mybatis 对接oracle 11g 工程搭建简介mybatis 对接oracle 11g 工程搭建简介

     此时oracle数据库中表的格式如下

     mybatis 对接oracle 11g 工程搭建简介mybatis 对接oracle 11g 工程搭建简介

六  搭建mybatis 工程框架

      1. 在 com.learn.mybatis 包下创建于数据库相对应的User.java文件(见第一幅图),用于记录数据库中的数据。

          mybatis 对接oracle 11g 工程搭建简介

          注意两点: 1) 需要生成get和set方法;2) 一定得有两个构造函数,尤其是默认构造函数,必须携带

         mybatis 对接oracle 11g 工程搭建简介

      2. 在 com.learn.mybatis 包下生成User.java的映射xml,即userMapper.xml 文件。

           mybatis 对接oracle 11g 工程搭建简介 mybatis 对接oracle 11g 工程搭建简介

           上图中有两点需要 说明: 1). namespace可以任意取名字,但是必须保证唯一性;

                                                     2). resultType 是路径格式。


       3. 在src下生成mybatis的配置文件conf.xml文件并关联userMapper.xml文件

          mybatis 对接oracle 11g 工程搭建简介 mybatis 对接oracle 11g 工程搭建简介

         上图中有两部分需要说明:

               1. dataSource即数据源部分

                      1) driver表示驱动,orcle的驱动为 oracle.jdbc.driver.OracleDriver

                      2) url为链接数据库的地址:jdbc:oracle:thin:@localhost:1521:orcl 中的orcl是安装数据库是所采用的名称。

                      3) username为数据库名称,例如scott或者system等等。

              2.  mapper节点,用于关联数据表,其中resource是路径格式。

七 调试上述代码

     mybatis 对接oracle 11g 工程搭建简介mybatis 对接oracle 11g 工程搭建简介

              注意一点:selectOne中第一个参数必须和userMapper.xml中保持一致。




查询结果如下:

      User [id=1, name=Tom, age=12]