`

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
分享到:
评论

相关推荐

    iBATIS实例小程序

    - 按照`proc_time`排序,并且只取第一条记录(`rownum=1`)。 #### 三、iBATIS参数绑定机制 在上述SQL语句中,可以看到`#acct#`和`#org#`这样的参数绑定方式。这种方式是iBATIS中常见的参数绑定方式之一,表示在...

    第一个ibatis3工程

    《第一个iBatis3工程详解》 在Java开发领域,iBatis作为一个优秀的持久层框架,因其简单易用、灵活性高而备受青睐。本篇文章将深入探讨如何搭建第一个iBatis3工程,以及该工程中涉及到的核心概念和技术点。 首先,...

    ibatis 第一个helloWorld

    【标题】:“ibatis 第一个helloWorld” 【知识点详解】: Ibatis,作为一个轻量级的持久层框架,是Java开发中的重要工具,它将SQL语句与Java代码分离,提高了代码的可读性和可维护性。在这个“ibatis 第一个hello...

    ibatis

    3. **iBATIS-SqlMaps-2-Tutorial_cn.pdf**:这是iBATIS SQL Maps 2的中文教程,可能包含一系列逐步的教学章节,指导初学者从零开始学习iBATIS,包括安装环境、创建第一个SQL Map、处理结果集、使用动态SQL以及处理...

    iBATIS-SqlMaps中文教程集合

    这个框架的主要目的是简化Java应用程序与数据库之间的交互,通过XML或注解方式将SQL语句映射到Java方法,实现了数据访问逻辑与业务逻辑的分离,提升了开发效率。 在“iBATIS-SqlMaps中文教程集合”中,你将找到四本...

    ibatis1.rar_ibatis

    这个文件定义了数据源、事务管理器等全局配置,是启动Ibatis的第一步。例如,数据源配置通常包含数据库驱动、URL、用户名和密码等信息。 4. **Mapper配置与映射文件** 映射文件(如:UserMapper.xml)是Ibatis实现...

    ibatis 相关使用文档及安装包ibatis 相关使用文档及安装包

    它可能涵盖了从安装iBATIS到创建第一个SQL Map,再到执行查询和更新操作的全过程。 《iBATIS_DBL-2.1.5.582.zip》是iBATIS数据库库的安装包,其中包含了运行iBATIS应用程序所需的JAR文件和其他依赖项。解压后,...

    ibatis源码

    描述中的"ibatis框架源码剖析书中附带的光盘,ibatis源码分析"暗示这可能是一个学习资源,用于深入理解iBATIS的工作原理,可能包括了对源码的详细解读和分析。 **iBATIS核心知识点** 1. **SQL映射**:iBATIS的核心...

    IBatis.NET开发文档

    - 第一个例子:通过一个简单的CRUD操作,展示iBATIS的基本用法。 - 数据源配置:讲解如何配置数据连接字符串,连接池等。 - CRUD操作:详细解释如何使用iBATIS执行增删改查操作。 - 映射实体类:介绍如何将...

    ibatis guide

    iBATIS 是一个Java编程语言中的数据访问接口,它简化了数据库操作,将SQL查询与应用程序代码相结合,使得开发更加灵活。在描述中提到的博文链接是一个ITEYE博客的文章,可能提供了更多关于iBATIS使用或分析的详细...

    ibatis 知识点总结(PDF)

    在使用ibatis开发第一个程序之前,需要做好准备工作: 1. **创建Java Project并导入必要的Jar包:** - 新建一个Java项目,并导入ibatis相关的jar包及MySQL数据库驱动包。 2. **创建数据库和数据表:** - 创建名为...

    ibatis in action 中文版7ibatis in action 中文版7

    ibatis是一个基于Java的开源持久层框架,用于简化数据访问层(Data Access Layer, DAL)的开发工作。它通过将SQL语句封装到配置文件中,并提供了一套灵活的方法来处理结果集映射,从而使得开发者能够更加专注于业务...

    ibatis jar文件

    4. ibatis-dao-2:可能是指iBATIS Data Access Object (DAO)的第二个版本,DAO是一种设计模式,用于封装数据库操作,使得业务逻辑与数据访问层解耦。 5. ibatis-sqlmap-2:iBATIS SQLMap是它的SQL映射组件,负责将...

    解决IBatis缓存动态字段问题

    具体表现为:当第一次查询某个表时,IBatis会将查询结果中的字段名缓存起来;而在后续查询其他表时,如果这些表的字段与之前缓存的字段不一致,就会导致查询失败。 #### 问题分析 在IBatis框架中,`...

    iBATIS框架源码剖析

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

    asp.net MVC3 IBATIS.NET 实例

    ASP.NET MVC3与IBATIS.NET的结合使用是开发高效、灵活的...同时,这也是迈向更复杂、更高效的数据处理解决方案的第一步。在深入学习的过程中,你还可以探索如事务管理、存储过程的使用以及复杂的查询等更多高级特性。

    ibatis的demo

    1. FWAS.sln:这是一个Visual Studio解决方案文件,通常包含一个或多个项目,每个项目对应一个特定的层次,如业务逻辑、数据访问层或Web应用程序。 2. FWAS.Base.Domain:这可能是业务模型或领域模型的包,包含与...

    iBATIS_DBL-2.1.7.597.zip

    iBATIS是一个开源的Java框架,它简化了数据库和应用程序之间的交互,使得开发者可以将SQL语句直接写在XML配置文件中,避免了直接在Java代码中进行数据库操作,提高了代码的可读性和可维护性。 在压缩包中,我们可以...

Global site tag (gtag.js) - Google Analytics