本节简介:本节主要是对ibatis学习笔记的记载,通过对oracle数据库自带的部门表dept的CRUD来学习ibatis的使用
preparation
1.关于ibatis
ibatis是一种半自动化的ORM框架
2.项目环境介绍
System:WIN7 JDK:编译1.4 开发1.5 数据库:oracle的dept表
3.文件介绍
Dept.java 一个javabean
IDeptSV.java 一个接口,用来声明增、删、改、查的方法
DeptSVImpl.java 对IDeptSV接口的实现,主要包括获得SqlMapClient对象以及方法体的实现
ShowDept.java 用来测试的方法.通过ECS插件把查询的结果写入到ibatis.html文件中
Dept.xml 实体和数据库表对应的映射文件,主要是写增、删、改、查的sql语句
SqlMap.properties 数据库配置文件,以键值对的形式声明数据库的driver、url、username、password
SqlMapConfig.xml ibatis的核心配置文件,主要是引入数据库配置文件,配置数据库连接相关的属性;引入实体类和数据库表的映射文件(本次用到的只是最简单的配置文件)
4.下载jar包
ibatis-2.3.4.jar ibatis的jar包
classes12.jar oracle数据库的驱动包
ecs-1.4.2.jar ECS插件包,为了巩固这个插件的使用故用此插件显示查询结果
三个jar包压缩成了一个文件,下载路径如下:http://files.cnblogs.com/java-pan/jar.rar
5.关于class&method的介绍
Reader
java.io.Reader
SqlMapClientBuilder
com.ibatis.sqlmap.client.SqlMapClientBuilder
SqlMapClient
com.ibatis.sqlmap.client.SqlMapClient
关于ECS插件相关类的介绍请见文章
http://www.cnblogs.com/java-pan/archive/2012/01/08/ecs.html
start
新建web project项目Ibatis,导入jar包(数据库驱动包,ibatis包,ECS的jar包),各个文件的代码如下:
1.Dept.java
2.IDeptSV.java
3.DeptSVImpl.java
4.ShowDept.java
5.Dept.xml
6.SqlMap.properties
![](https://i-blog.csdnimg.cn/blog_migrate/81178cc93a2a3bb5048d90d76e7ec935.gif)
1 driver=oracle.jdbc.driver.OracleDriver 2 url=jdbc:Oracle:thin:@127.0.0.1:1521:orcl 3 username=scott 4 password=orcl
7.SqlMapConfig.xml
8.在数据库新建一个序列deptPKSequence
-- Create sequence
create sequence DEPTPKSEQUENCE
minvalue 60
maxvalue 99
start with 70
increment by 1
nocache
order;
result
说明:ShowDept类中的main方法中分别对7个方法做了测试,测试哪个方法就放开对应的代码,测试某一个方法时,其他的6个测试对应的代码都要注释掉。 1.测试查询
查询之前数据库查询如下:
(1)查询所有记录的测试 方法名:queryDept()
后台日志:
ibatis.html文件的内容
(2)按照部门编号deptno查询 精确查询 方法名:queryByDeptNo(int deptNo)
传入部门编号10,
(3)按照部门名称dname查询 模糊查询 方法名:queryByName(String name)
传入部门名称C,
在数据库查询如下:
2.测试添加
(1)手动写主键 方法名:addDept(Dept dept)
添加之前数据库所有记录如下:
添加之后数据库所有记录入下:
后台日志:
(2)主键自动生成 方法名:addDeptSequenct(Dept dept)
添加之前数据库所有记录如下:
添加之后数据库所有记录如下:
后台日志
3.测试删除
方法名:delByDeptNo(int deptNo)
传入50
删除之前数据库所有记录如下:
删除之后数据库所有记录如下:
后台日志
4.测试更新
方法名:updateDept(Dept dept)
更新部门编号为10的记录
更新之前数据库所有记录如下:
更新之后数据库所有记录如下:
后台日志
总结:
1.ibatis作为一个半自动的ORM框架,主要有以下优势:
(1)易于学习,易于使用,上手快
(2)修改表结构、字段名称、序列等对象后不用更改任何的java代码,实现java代码和sql语句的分离
(3)可以有效控制sql发送的数据,提高数据层的执行效率
下面是传智播客总结出的ibatis的一些优点,我也给贴出来:
1. ibatis把sql语句从Java源程序中独立出来,放在单独的XML文件中编写,给程序维护带来了很大便利。
2. ibatis封装了底层JDBC API的调用细节,并能自动将结果集转换成Java Bean对象,大大简化了Java数
据库编程的重复工作。
3. 简单易于学习,易于使用, 非常实用。
4. 因为Ibatis需要程序员自己去编写sql语句,程序员可以结合数据库自身的特点灵活控制sql语句,因
此能够实现比hibernate等全自动orm框架更高的查询效率,能够完成复杂查询。
5. 阿里巴巴、慧点科技等多家知名软件公司都使用Ibatis。
项目中暂时也没有用到ibatis,
只是最近项目不是很忙,
就花点时间去学习一些新的知识,
有什么问题请高手指正,
也欢迎各位拍砖。