iBATIS学习之一

iBATIS是什么?

ibatis是一个支持自定义SQL,存储过程以及高级映射的一流的持久化框架。ibatis消除了几乎所有的JDBC代码,参数以及检索结果的手动设定。ibatis能使用简单的XML或者注解进行配置,并且能够映射简单数据类型,Map接口和Java Pojos到数据库记录。相对Hibernate一站式ORM解决方案而言,ibatis是一种半自动化ORM实现,ibatis需要开发人员自己来写sql语句。因此,对于有大量复杂检索而且对性能要求很高的项目,ibatis是一个不错的解决方案。可以对SQL语句或存储过程进行优化,以达到性能要求(可能SQL语句并不是性能的唯一瓶颈,但至少ibatis提供这个机会)

计算机科学一门实践性很强的学科,因此,要想学好ibatis,也只用通过不断的动手写程序,在实战中不断的摸索来掌握它。为了能更好的学习,我以实现一个简单的系统作为例子,该系统仅仅完成对用户增删改查的处理,不包括其他的处理。

系统用例图如下:

 

 

类图:

 

 

 

现在,我们就来开始构建这个系统吧。

一,         环境准备

1http://ibatis.apache.org/站点上下载ibatis3.0版本。

2.从http://www.eclipse.org/downloads/下载Eclipse IDE

3.启动Eclipse,创建一个名字叫ibatisjava项目。并将ibatis-core-3.0.jar文件加入到项目类库中。

4.创建数据库ibatis,建立用户表t_user

 

 

使用的DBMSMySQL

CREATE DATABASE ibatis;

USE ibatis;

创建用户表

CREATE TABLE `t_user` (

  `id` BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY ,

  `userId` VARCHAR( 20 ) NOT NULL ,

  `userName` VARCHAR( 50 ) NOT NULL ,

`delFlag` INT NOT NULL DEFAULT 0 ,

  UNIQUE (`userId`)

)

创建角色表并增加两条数据

CREATE TABLE `t_role` (

  `id` int NOT NULL PRIMARY KEY ,

  `roleName` VARCHAR( 50 ) NOT NULL,

  `delFlag` INT NOT NULL DEFAULT 0

)

INSERT INTO `t_role`(id,roleName,delFlag) VALUES(1,'一般用户',0);

INSERT INTO `t_role`(id,roleName,delFlag) VALUES(2,'管理员',0);

CREATE TABLE `t_user_role` (

  `userId` VARCHAR( 20 ) NOT NULL,

  `roleId` INT NOT NULL,

  INDEX (userId),

  FOREIGN KEY (userId) REFERENCES t_user(userId),

  INDEX (roleId),

  FOREIGN KEY (roleId) REFERENCES t_role(id)

)

※、所有表的删除标记的值(0:不删除,1:删除) 

 

二,         开始

每一个ibatis应用程序都是从SqlSessionFactory的实例开始,我们可以使用SqlSessionFactoryBuilderxml配置文件或者从一个预先定义好的Configuration类的实例创建SqlSessionFactory实例。

由于本文采用传统的xml配置文件,首先我们编写项目的配置文件。

app.properties   整个项目配置信息

#设置项目当前所处的阶段(development:开发阶段,test:测试阶段等),阶段的设置与configuration.xml 文件中environments id一致。

project_phase=development

db.properties   数据库连接信息

development.driver=com.mysql.jdbc.Driver

development.url=jdbc:mysql://localhost:3306/ibatis

development.username=root

development.password=

 

test.driver=com.mysql.jdbc.Driver

test.url=jdbc:mysql://localhost:3306/ibatis

test.username=root

test.password=

configuration.xml  ibatis配置文件

 

ibatis3.0中可以配置多个environments,也就是说编写的SQL可以映射到多个数据库。基于不同的阶段使用不同的数据库。在下面的配置文件中设置了两个environments,一个用于开发阶段,另一个用于测试阶段。在创建SqlSessionFactory实例时可以通过指定environments id来获得需要的数据实例。

 

 

 

下面是创建SqlSessionFactory实例和测试代码

SqlMapper.java文件

 

SqlMapperTest.java文件

 

到此为止,SqlSessionFactory实例的创建就完成。接下来,就是编写业务逻辑类,数据访问对象DAO以及SQL映射文件。

 

 

 

 

 

 

阅读更多
个人分类: java
想对作者说点什么? 我来说一句

最齐全的ibatis学习视频

2015年06月18日 48B 下载

ibatis学习资料

2010年03月02日 430KB 下载

ibatis入门与深入

2009年06月12日 1.08MB 下载

Ibatis 学习资料

2011年10月28日 1.98MB 下载

ibatis总结 ibatis ibatis ibatis ibatis

2011年08月16日 87KB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭