iBatis框架基本使用

iBatis框架是Java持久层开发框架,说白了就是前人写了一部分代码(针对数据库操作),我们要做的就是再次开发,拿来框架直接使用。

我们自己开发时,dao层的sql语句都是写死在程序中的,如果查询条件改变什么的都需要修改sql语句,这样就得去修改原代码,违背了开发原则中的开闭原则。有没有一种实现让sql不再写死在程序里,iBatis框架就可以使sql文活起来。

iBatis是一个开源的项目,有兴趣的可以去看看那些元老级的人物是怎么将封装的框架。本文旨在介绍它的使用。

第一步:搭建环境

所谓的搭建环境就是拷贝iBatis的jar包到我们的项目中。这样我们就可以使用框架中的相关类啦。

由于iBatis是数据库方面的操作,所以还有添加数据库方面的jar包,我用的是oracle的数据库,所以得到oracle的安装目录下面去找链接数据库的ojdbc6.jar

第二步:编写实体类和dao层接口及实现

这里需要做的就是将数据库的表对应封装成对象实体,定义Dao层的接口和实现,接口的具体实现这里不需要写,只需要把类准备出来,把接口准备出来就可以拉。

第三步:拷贝xml文件

将iBatis中的两个xml文件拷贝到项目中(下载的iBatis资料中会有相应的jar包和简单的例子,例子中有xml文件),一个是SqlMapConfig.xml是完成数据库配置的文件,另一个是实体类对应的xml文件,本文以User.xml为例。

需要注意的是这两个文件所放的位置,一般都是将SqlMapConfig.xml文件拷贝到项目的根目录下面,放在src下,实体类对应的xml文件跟对应的实体放在一块就行了。

一个系统中就只有一个SqlMapConfig.xml文件,文件的名称可以更改,是数据库配置文件,文件内容参考如下:

[html] view plain copy

print?

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE sqlMapConfig
  3. PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
  4. "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
  5. <sqlMapConfig>
  6. <transactionManager type="JDBC" commitRequired="false">
  7. <dataSource type="SIMPLE">
  8. <property name="JDBC.Driver" value="oracle.jdbc.driver.OracleDriver"/>
  9. <property name="JDBC.ConnectionURL" value="jdbc:oracle:thin:@localhost:1521:Orl"/>
  10. <property name="JDBC.Username" value="scott"/>
  11. <property name="JDBC.Password" value="tiger"/>
  12. </dataSource>
  13. </transactionManager>
  14. <sqlMap resource="com/ibatis/bean/User.xml"/>
  15. </sqlMapConfig>

实体类的配置文件则有多个,是和实体类对应的。内容参考如下:

[html] view plain copy

print?

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE sqlMap
  3. PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
  4. "http://ibatis.apache.org/dtd/sql-map-2.dtd">
  5. <sqlMap>
  6. <!--起别名-->
  7. <typeAlias alias="UserType" type="com.ibatis.bean.User"></typeAlias>
  8. <!--insert操作,parameterClass为参数的类型-->
  9. <insert id="insertUserID" parameterClass="UserType">
  10. insert into t_user (
  11. username,
  12. userpswd)
  13. values (
  14. #username#, #userpswd#
  15. )
  16. </insert>
  17. <delete id="deleteUser" parameterClass="java.lang.String">
  18. delete from t_user where username=#username#
  19. </delete>
  20. </sqlMap>

第四步:编写dao层接口实现

用了框架后,实现类中就没有sql语句了,在上面参考代码中看到,sql语句都配置到对应的实体类对应的配置文件中拉,这样实现类的代码就会变得很简单,如下:

这样就可以实现对User的添加和删除了,如果此时还不放心,可以添加个测试类测试一次。

使用框架,前提配置工作一定要做好。主要在配置文件上面。一定要仔细。

时间: 2024-08-27 05:50:23

iBatis框架基本使用的相关文章

ibatis框架之系统架构

如果用最简洁的话来总结 iBATIS 主要完成那些功能时,我想下面几个代码足够概括. 1 Class.forName("oracle.jdbc.driver.OracleDriver"); 2 Connection conn= DriverManager.getConnection(url,user,password); 3 java.sql.PreparedStatement st = conn.prepareStatement(sql); 4 st.setInt(0,1); 5 s

iBatis框架使用 4步曲

iBatis是一款使用方便的数据訪问工具,也可作为数据持久层的框架.和ORM框架(如Hibernate)将数据库表直接映射为Java对象相比.iBatis是将SQL语句映射为Java对象. 相对于全自己主动SQL的Hibernate,iBatis同意你对SQL有全然控制权,能够视为半自己主动的数据訪问工具. iBatis的最大长处是简便,轻量级,仅需iBatis的一个jar和数据库的驱动就可以执行,并且使用iBatis仅需掌握SQL和XML的使用方法就可以,而不像Hibernate那样须要配置对

ibatis框架的sqlmapclient接口

SqlMapClient,是iBatis中的重要接口,这个接口涉及到对SQL映射的执行和批处理. 现在,就先了解它的对query开头方法的定义. 首先是 queryForList 方法: //指定SQL的ID,执行的结果返回ListqueryForList(java.lang.String id) ; //指定SQL的ID,并指定返回的行数queryForList(java.lang.String id, int skip, int max) ; //指定SQL的ID,并指定传入参数queryF

ibatis框架文件配置

最近2天在学ibatis,心里也有一些心得,就把它写下来了. 首先是配置一下ibatis的环境,添加ibatis2.X.jar,mysql-connection-bin.5.1.8.jar,建立一个web项目: 0.写个类User.jsva 有属性:.....(自己写),建个表:user.sql 1.先建一个数据库文件dataSource.properties,内容如下: jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localho

iBATIS 框架主要的类层次结构

iBATIS 框架主要的类层次结构 总体来说 iBATIS 的系统结构还是比较简单的,它主要完成两件事情: 根据 JDBC 规范建立与数据库的连接: 通过反射打通 Java 对象与数据库参数交互之间相互转化关系. iBATIS 的框架结构也是按照这种思想来组织类层次结构的,其实它是一种典型的交互式框架.先期准备好交互的必要条件,然后构建一个交互的环境,交互环境中还划分成会话,每次的会话也有一个环境.当这些环境都准备好了以后,剩下的就是交换数据了.其实涉及到网络通信,一般都会是类似的处理方式. 图

ibatis框架搭建

最近项目中用到IBATIS ,我没有用过,现在开始慢慢学习.IBATIS是一个持久层框架,但是比HIBERNATE要轻许多,用ibatis基本上sql语句要自己写.今天下午做了一个简单的demo. 流程:在DAO中读取SqlMapConfig.xml文件(连接数据库,寻找实体类配置文件路径).当DAO中调用sql语句时候:sqlMapClient.queryForList("getAllStudent"); 会去实体类的配置文件里面寻找sql语句. 1.下载ibatis Jar包,我用

SSI(Struts2, Spring, iBatis)框架整合小结

MVC对于我们来说,已经不陌生了,它起源于20世纪80年代针对smalltalk语言的一种软件设计模式,现在已被广泛应用.近年来,随着java的盛行,MVC的低耦合性.高重用性.可维护性.软件工程的可管理性等诸多优点使其在java平台中很受欢迎,其间,也诞生了许多优秀的MVC框架,如专注于控制层的Struts.WebWork, Struts2, JSF等框架,专注于业务逻辑方面的Spring框架.专注于持久层的Hibernate.iBatis.Castor.JORM等框架.由于最近用了一次SSI

iBATIS框架简介

iBATIS一词来源于“internet”和“abatis”的组合,是一个由Clinton Begin在2001年发起的开放源代码项目.最初侧重于密码软件的开发,现在是一个基于Java的持久层框架.iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO),同时还提供一个利用这个框架开发的JPetStore实例. iBATIS 目前提供了三种语言实现的版本,包括:Java..NET以及Ruby.下面是iBATIS的架构图 此项目已改名为 MyBatis,并

iBatis框架之配置文件之注意点之总结

1.配置文件sqlMap.xml中需要注意的点 比如: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd" > <sqlMap namespace