`
hooke
  • 浏览: 42591 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ibatis 应用流程

阅读更多

ibatis使用起来非常简单,没有hibernate那么复杂,具体原理如下:

1,通过DaoManagerBuilder.buildDaoManager(reader, props);加载sql-map-config.xml文件,在加载sql-map-config.xml文件的时候,会在sql-map-config.xml文件中初始化数据源连接和sql配置文件,样本如下:

xml 代码
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2.   
  3. <!DOCTYPE sqlMapConfig 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.   <properties resource="properties/database.properties"/>  
  7.   <transactionManager type="JDBC">  
  8.     <dataSource type="SIMPLE">  
  9.       <property value="${driver}" name="JDBC.Driver"/>  
  10.       <property value="${url}" name="JDBC.ConnectionURL"/>  
  11.       <property value="${username}" name="JDBC.Username"/>  
  12.       <property value="${password}" name="JDBC.Password"/>  
  13.     </dataSource>  
  14.   </transactionManager>  
  15.   <sqlMap resource="com/ibatis/jpetstore/persistence/sqlmapdao/sql/Account.xml"/>  
  16. </sqlMapConfig>  

其中的Account.xml文件就是sql配置文件,sql配置文件的样本文件如下:

xml 代码
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"   
  3.     "http://ibatis.apache.org/dtd/sql-map-2.dtd">  
  4. <sqlMap namespace="Account">  
  5.   <typeAlias alias="account" type="com.ibatis.jpetstore.domain.Account"/>  
  6.   <select id="getAccountByUsername" resultClass="account" parameterClass="string">  
  7.     SELECT   
  8.           SIGNON.USERNAME,   
  9.           ACCOUNT.EMAIL,   
  10.           ACCOUNT.FIRSTNAME,   
  11.           ACCOUNT.LASTNAME,   
  12.           ACCOUNT.STATUS,   
  13.           ACCOUNT.ADDR1 AS address1,   
  14.           ACCOUNT.ADDR2 AS address2,   
  15.           ACCOUNT.CITY,   
  16.           ACCOUNT.STATE,   
  17.           ACCOUNT.ZIP,   
  18.           ACCOUNT.COUNTRY,   
  19.           ACCOUNT.PHONE,   
  20.           PROFILE.LANGPREF AS languagePreference,   
  21.           PROFILE.FAVCATEGORY AS favouriteCategoryId,   
  22.           PROFILE.MYLISTOPT AS listOption,   
  23.           PROFILE.BANNEROPT AS bannerOption,   
  24.           BANNERDATA.BANNERNAME   
  25.     FROM ACCOUNT, PROFILE, SIGNON, BANNERDATA   
  26.     WHERE ACCOUNT.USERID = #username#   
  27.       AND SIGNON.USERNAME = ACCOUNT.USERID   
  28.       AND PROFILE.USERID = ACCOUNT.USERID   
  29.       AND PROFILE.FAVCATEGORY = BANNERDATA.FAVCATEGORY   
  30.   </select>  
  31. </sqlMap>  

sql-map-config.xml和sql语句配置文件配置好之后,就可以进行dao操作了

2,dao操作,可以通过继承SqlMapDaoTemplate类,执行sql语句,在执行sql语句的时候,首先获取通过DaoManagerBuilder.buildDaoManager(reader, props);初始化加载的daoManager对象,功过daoManager对象可以得到一个dao类,然后就可以执行这个dao类里面的dao方法了,比如

  public BusinessInfo getBusinessInfo(String id) {
        // XXX Auto-generated method stub
        return (BusinessInfo) queryForObject("getBusinessInfo", id);

    }

ibatis在你调用dao方法的时候,根据你传入的sql语句id,到sql语句配置文件中查找相应的sql语句,然后执行这个sql语句,并返回执行结果.

分享到:
评论

相关推荐

    spring、struts、ibatis框架搭建流程

    ### Spring、Struts、iBatis框架搭建流程详解 #### 一、框架下载与准备 在构建基于Spring、Struts和iBatis的项目时,首先需要下载这些框架的最新版本,并进行相应的准备工作。 ##### 1. Struts2框架 Struts2是一...

    ibatis开始流程

    iBatis,作为一款开源的持久层框架,其在Java应用中扮演了数据库操作的关键角色。本文将基于“ibatis开始流程”的标题与描述,深入探讨iBatis的开发流程,解析其配置与使用方法,旨在为初学者及开发者提供一份详尽的...

    ibatis框架简单应用

    **Ibatis 工作流程** 1. 应用程序通过 MyBatis 的 SqlSessionFactoryBuilder 创建 SqlSessionFactory。 2. SqlSessionFactory 根据配置文件或类路径下的配置文件创建 SqlSession。 3. 使用 SqlSession 获取 Mapper ...

    ajax和ibatis的综合应用例子

    以下是一个典型的应用流程: 1. **前端请求**:用户在Web页面上触发一个事件(如点击按钮),JavaScript通过Ajax调用发起HTTP请求,携带必要的参数。 2. **服务器处理**:服务器接收到请求后,解析参数,交由...

    ibatis在web工程中的应用笔记

    标题 "ibatis在web工程中的应用笔记" 涉及的主要知识点是MyBatis(原名iBatis)在Web应用程序开发中的使用。MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。下面将详细阐述MyBatis的基本...

    实现ibatis手动控制加载sqlmap文件,终于不用重启应用了

    通常情况下,当我们修改了iBatis的SQL映射文件(sqlmap)后,需要重启应用服务器来使改动生效。这无疑降低了开发效率。然而,通过手动控制加载sqlmap文件,我们可以实现在不重启应用的情况下更新SQL映射,从而提高...

    ibatis入门实例(全代码)

    通过数据库准备、SQL Map 编写和 Java 代码集成,我们可以轻松地进行数据库操作,这对于初学者理解 Ibatis 的工作原理及其在实际项目中的应用非常有帮助。同时,这个实例也鼓励学习者进一步探索 Ibatis 的高级特性,...

    ibatis教程外加jar包

    - **ibatis-2.3.4.726.jar**:这是Ibatis的核心库,包含了所有必要的类和接口,用于构建Ibatis应用。 - **iBatis教程中文版.doc**:这份文档详细介绍了Ibatis的使用方法,包括配置、SQL映射、结果映射、动态SQL等...

    Ibatis 练习Demo和笔记

    而"IbatisStudy"可能是一个示例项目,包含了一个简单的Ibatis应用场景,如用户管理模块,包含实体类、Mapper接口、Mapper XML文件以及相关的测试代码。通过运行这个项目,你可以更直观地了解Ibatis的工作流程。 ...

    SpringMVC+ibatis整合

    SpringMVC和iBatis是两个非常流行的Java Web开发框架,它们在企业级应用中广泛使用。SpringMVC作为Spring框架的一部分,负责处理HTTP请求,而iBatis则是一个轻量级的持久层框架,专注于数据库操作。接下来,我们将...

    Spring+ibatis 保留ibatis事务的配置

    Spring 是一个轻量级的Java应用开发框架,提供了依赖注入、面向切面编程等功能,而ibatis则是一个基于Java的持久层框架,它提供了一种简单的方式来执行SQL语句并映射结果到Java对象上。当这两个框架结合起来时,可以...

    ibatis基础教学文档

    iBATIS的工作流程主要包括: 1. 接收对象参数,该参数用于设置更新语句的输入值或查询语句的WHERE子句。 2. 执行映射的Statement,iBATIS创建PreparedStatement,填充参数,执行SQL并从结果集中构建返回对象。 3. ...

    ibatis guide

    **iBATIS 使用流程** 1. **创建SQL映射文件**: 在XML文件中定义SQL语句,包括查询、插入、更新和删除操作。 2. **配置数据源**: 配置数据库连接信息,如驱动、URL、用户名和密码。 3. **创建DAO层**: 创建Data ...

    struts2+ibatis

    Struts2作为MVC(Model-View-Controller)架构的一部分,主要负责处理用户请求并控制应用流程,而iBatis则是一个优秀的持久层框架,它简化了数据库操作,使得SQL与Java代码可以更好地分离。当这两个框架结合Spring...

    maven搭建SpringMVC+spring+ibatis

    在IT行业中,构建高效、可扩展的Web应用是至关重要的,而"Maven搭建SpringMVC+Spring+Ibatis"的组合则提供了一种强大的解决方案。本文将深入探讨这些技术及其集成,帮助你理解和掌握如何利用它们来构建现代化的Java ...

    ibatis_test测试

    - 集成测试:模拟真实环境,测试整个应用的数据库操作流程,包括事务处理、缓存等。可以使用如Spring Boot Test、MyBatis-Spring-Boot-Starter-Test等工具。 - 数据库初始化:在测试前,需要准备测试数据,可以...

    struts+ibatis登录

    Struts作为一个MVC(Model-View-Controller)框架,主要用于控制应用程序的流程,而iBatis则是一个持久层框架,它简化了数据库操作,将SQL语句与Java代码解耦合。在这个“Struts+ibatis登录”实例中,我们将探讨如何...

    iBatis与数据库交互

    二、iBatis的工作流程 1. 加载配置:iBatis读取配置文件(mybatis-config.xml),获取数据源、事务管理器等信息。 2. 创建SqlSessionFactory:基于配置信息创建SqlSessionFactory对象。 3. 获取SqlSession:使用...

    Ibatis代码自动生成工具—Abator应用

    《Ibatis代码自动生成工具—Abator的应用详解》 Ibatis作为一款轻量级的Java持久层框架,因其灵活的SQL映射机制深受开发者喜爱。然而在实际开发中,面对大量的数据库表,手动编写对应的Java实体类、Mapper接口以及...

    ibatis源码

    在这个项目中,Ibatis作为数据访问层,负责与数据库交互,而Struts2则处理HTTP请求,控制业务流程。 2. emis08(Struts1+iBATIS).zip:这个版本使用的是较早的Struts1框架,同样结合了Ibatis。尽管Struts1的功能相对...

Global site tag (gtag.js) - Google Analytics