`

ibatis 第一个程序

阅读更多
iBatis是一款使用方便的数据访问工具,也可作为数据持久层的框架。和ORM框架(如Hibernate)将数据库表直接映射为Java对象相比,iBatis是将SQL语句映射为Java对象。相对于全自动SQL的Hibernate,iBatis允许你对SQL有完全控制权,可以视为半自动的数据访问工具。
    iBatis的最大优点是简便,轻量级,仅需iBatis的一个jar和数据库的驱动即可运行,而且使用iBatis仅需掌握SQL和XML的用法即可,而不像Hibernate那样需要配置对象间的关系。学习iBatis的过程要比Hibernate快很多,在项目中,若人员水平不大一致时,使用iBatis代替Hibernate作为数据访问工具可以有效提升开发效率。

项目结构



数据库用的Oracle scott账户下的Dept表

模型类
package ibatis.model;

public class Dept {
	
	private int deptNo;
	private String dName;
	private String loc;
	
	public int getDeptNo() {
		return deptNo;
	}
	public void setDeptNo(int deptNo) {
		this.deptNo = deptNo;
	}
	public String getDName() {
		return dName;
	}
	public void setDName(String name) {
		dName = name;
	}
	public String getLoc() {
		return loc;
	}
	public void setLoc(String loc) {
		this.loc = loc;
	}
	
	public String toString() {
		return "deptNo : " + deptNo + " dname : " + dName + " loc : " + loc;
	}
}


模型配置文件 Dept.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>  
    <typeAlias alias="Dept" type="ibatis.model.Dept" />  
    <select id="getAllDepts" resultClass="Dept">  
        select *  
        from dept  
    </select>  
</sqlMap>


数据库配置文件jdbc.properties
jdbc.driverClassName=oracle.jdbc.driver.OracleDriver
jdbc.url=jdbc:oracle:thin:@127.0.0.1:1521:orcl
jdbc.username=scott
jdbc.password=tiger


iBatis配置文件SqlMapConfig.xml
<?xml version="1.0" encoding="UTF-8" ?>  
<!DOCTYPE sqlMapConfig        
    PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"        
    "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">  
<sqlMapConfig>  
    <properties resource="jdbc.properties" />  
    <transactionManager type="JDBC">  
        <dataSource type="SIMPLE">  
            <property name="JDBC.Driver" value="${jdbc.driverClassName}" />  
            <property name="JDBC.ConnectionURL" value="${jdbc.url}" />  
            <property name="JDBC.Username" value="${jdbc.username}" />  
            <property name="JDBC.Password" value="${jdbc.password}" />  
        </dataSource>  
    </transactionManager>  
    <sqlMap resource="ibatis/resources/Dept.xml" />  
</sqlMapConfig>


测试类:
package ibatis;

import java.io.IOException;
import java.io.Reader;
import java.sql.SQLException;
import java.util.List;

import ibatis.model.Dept;

import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;

public class IBatisDemo {
	
	public static void main(String[] args) throws IOException, SQLException {  
        String config = "ibatis/SqlMapConfig.xml";  
        Reader reader = Resources.getResourceAsReader(config);  
        SqlMapClient sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);  
        List<Dept> list = sqlMap.queryForList("getAllDepts");  
        for (Dept dept : list) {  
            System.out.println(dept);  
        }  
    }  

}



输出结果:

deptNo : 88dname : 装备部loc : 北京
deptNo : 99dname : 交通部loc : null
deptNo : 55dname : Advloc : Beijing
deptNo : 56dname : Secloc : Shanghai
deptNo : 10dname : ACCOUNTINGloc : NEW YORK
deptNo : 20dname : RESEARCHloc : DALLAS
deptNo : 30dname : SALESloc : CHICAGO
deptNo : 40dname : OPERATIONSloc : BOSTON
  • 大小: 62.1 KB
分享到:
评论

相关推荐

    第一个ibatis3工程

    NULL 博文链接:https://simplehumn.iteye.com/blog/1041021

    iBATIS框架源码剖析

    本书分为三个部分,第一部分是介绍iBATIS的一些基础知识;第二部分是介绍iBATIS DAO的框架结构及其实现;第三部分是针对iBATIS的底层平台iBATIS SQL Map进行 资源太大,传百度网盘了,链接在附件中,有需要的同学...

    iBATIS实战

    第1章 iBATIS的理念 2 1.1 一个结合了所有优秀思想的混合型解决方案 2 1.1.1 探索iBATIS的根源 3 1.1.2 理解iBATIS的优势 7 1.2 iBATIS适合应用在何处 10 1.2.1 业务对象模型 11 1.2.2 表现层 11 1.2.3 业务逻辑层 ...

    使用mysql和ibatis

    使用mysql+ibatis搭建第一个程序

    iBATISInAction:iBATIS的安装和配置

    它是一个类库,而不是应用程序,所以实际上并不需要安装,但要在应用程序中使用它还是要经过几个步骤。如果您熟悉C#和ADO.NET,那么可能需要好好阅读本章为下面的一两章做好准备。首先,我们提供了安装和配置过程的...

    基于Servlet3.0+IBatis+BootStrip技术构建简单会议管理系统

    第一部分:技能储备阶段,学习项目所需要的技能知识 第二部分:设计部分,通过需求分析,设计物理模型,画出原型界面(HTML) 第三部分:编码部分,具体实现各个功能模块 学完本系列课程后,学员将会达到以下学习...

    深入浅出Hibernate(PDF)第一部分

    注:因为资源有点大,所以折分上传,需要把深入浅出hibernate(PDF)第一部分.深入浅出hibernate(PDF)第二部分,深入浅出hibernate(PDF)第三部分全部下载,并解压到一个地方才可以正常解压阅读.给大家带来不便望谅解.

    springmybatis

    1. 现阶段,你可以直接建立java 工程,但一般都是开发web项目,这个系列教程最后也是web的,所以一开始就建立web工程。 2. 将 mybatis-3.2.0-SNAPSHOT.jar,mysql-connector-java-5.1.22-bin.jar 拷贝到 web工程的...

    Hitis V1.2

    (7)在ibatis中,会依赖这样那样的jar包,虽然不多,但总有几个吧,但Hitis,不依赖任何第三方jar包 (8)在Hitis中,...,你不心动吗?不想试用一下吗?试试用吧,永久开源的,放心用吧... New Features In Hitis V...

    在java控制台提取sql语句

    在java的控制台中看到的sql日志通常是如下的样子, Preparing: SELECT in (0,1) ORDER BY i.... 使用方法复制sql语句包括prepare丢到第一个文本框中,然后点start。转换好的就在下面了。 程序的页面可以直接双击打开。

    Mybatis学习笔记整合架构

    第一天: 1、Mybatis的介绍 2、Mybatis的入门 a)使用jdbc操作数据库存在的问题 b)Mybatis的架构 c)Mybatis的入门程序 3、Dao的开发方法 a)原始dao的开发方法 b)接口的动态代理方式 SqlMapConfig.xml文件说 2.Mybatis...

    深入浅出Hibernate(PDF)第二部分

    注: 因为此书共20M多,所以分开上传, 需要把深入浅出hibernate(PDF)第一部分.深入浅出hibernate(PDF)第二部分,深入浅出hibernate(PDF)第三部分全部下载,并解压到一个地方才可以正常解压阅读.给大家带来不便望谅解.

    深入浅出hibernate(PDF)第三部分

    注:因为资源有点大,所以折分上传,需要把深入浅出hibernate(PDF)第一部分.深入浅出hibernate(PDF)第二部分,深入浅出hibernate(PDF)第三部分全部下载,并解压到一个地方才可以正常解压阅读.给大家带来不便望谅解.

    mybatis-spring-1.2.2.jar

    正如第二版那样,Spring 3.0 也仅支持 iBatis2。那么,我们就想将 MyBatis3 的支持添加 到 Spring3.0(参考 Spring Jira 中的问题)中。而不幸的是,Spring 3.0 的开发在 MyBatis 3.0 官方发布前就结束了。 因为 Spring ...

Global site tag (gtag.js) - Google Analytics