`

Ibatis环境配置

阅读更多

 

一:网上http://www.apache.org/上下载Ibatis包

 

和Ibatis关联的几个包

 

commons-dbcp.jar

log4j.jar

cglib.jar

oscache.jar

commons-logging.jar

有时候可能各个版本不同会产生错误

 

 

二:配置Ibatis主配置文件

 

<?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>

  <settings cacheModelsEnabled="true"<!--使用缓存-->
     enhancementEnabled="true"
     lazyLoadingEnabled="true"
     maxRequests="32"
     maxSessions="10"
     maxTransactions="10"
     useStatementNamespaces="false"
  />
  <transactionManager type="JDBC" commitRequired="false"><!--使用连接池-->
    <dataSource type="JNDI">
      <property name="DataSource" value="ibatis"/>
    </dataSource>

<!--
    <dataSource type="SIMPLE">
      <property name="JDBC.Driver" value="org.hsqldb.jdbcDriver"/>
      <property name="JDBC.ConnectionURL" value="jdbc:hsqldb:."/>
      <property name="JDBC.Username" value="sa"/>
      <property name="JDBC.Password" value="sa"/>
    </dataSource>
     -->

  </transactionManager>

  <sqlMap resource="com/myspackage/***.xml"/><!--SQL映射配置文件-->

</sqlMapConfig>

 

此主配置文件可以放到class下的任何位置,只要在得到此配置文件时候的标明URI即可。

 

com/myspackage/***.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 namespace="Account">

  <typeAlias alias="Account" type="com.mydomain.domain.Account"/>

   <resultMap id="MapResult" class="HashMap">
    <result property="id" column="ACC_ID"/>
    <result property="firstName" column="ACC_FIRST_NAME"/>
    <result property="lastName" column="ACC_LAST_NAME"/>
    <result property="emailAddress" column="ACC_EMAIL"/>
  </resultMap>
  <cacheModel id="CacheID" type="OSCACHE"><!--[OSCACHE,MEMORY,LRU,FIFO]-->
     <flushInterval hours="24"/>
  <property name="size" value="1000" />
  </cacheModel>

  <select id="selectId" parameterClass="int" resultClass="Map"><!--返回一个Map类型的VO-->
    select
      *    from SomeTable
    where SomeTable_id = #id#
  </select>

  <insert id="insertAccount" parameterClass="Account"><!--使用AccoutVO作为in parameter,也可以使用Map-->
    insert into ACCOUNT (
      ACC_ID,
      ACC_FIRST_NAME,
      ACC_LAST_NAME,
      ACC_EMAIL
    values (
      #id#, #firstName#, #lastName#, #emailAddress#
    )
  </insert>

  <update id="updateAccount" parameterClass="Account">
    update ACCOUNT set
      ACC_FIRST_NAME = #firstName#,
      ACC_LAST_NAME = #lastName#,
      ACC_EMAIL = #emailAddress#
    where
      ACC_ID = #id#
  </update>

  <delete id="deleteAccountById" parameterClass="int">
    delete from ACCOUNT where ACC_ID = #id#
  </delete>

</sqlMap>

 

三:DAO

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

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

public class SimpleExample {

  private static SqlMapClient sqlMapper;

  static {
    try {
      Reader reader = Resources.getResourceAsReader("SqlMapConfig.xml");
      sqlMapper = SqlMapClientBuilder.buildSqlMapClient(reader);
      reader.close();
    } catch (IOException e) {
      throw new RuntimeException("Something bad happened while building the SqlMapClient instance." + e, e);
    }
  }

  public static List selectAllAccounts (java.util.Map map) throws SQLException {
   List list=(List)sqlMapper.queryForObject("selectAllAccounts", map);
    return list;
  }

  public static Account selectAccountById  (int id) throws SQLException {
    return (Account) sqlMapper.queryForObject("selectAccountById", new Integer(id));
  }

  public static void insertAccount (Account account) throws SQLException {
    sqlMapper.insert("insertAccount", account);
  }

  public static void updateAccount (Account account) throws SQLException {
    sqlMapper.update("updateAccount", account);
  }

  public static void deleteAccount (int id) throws SQLException {
    sqlMapper.delete("deleteAccount", new Integer(id));
  }

}

 

四:使用此DAO

 

Map map=new HashMap();
map.put("id",request.getParameter("id"));
List list=SimpleExample .queryForList("selectAllAccounts",map);

 

 

 

追加几个包

 

分享到:
评论

相关推荐

    Struts2+Spring+Ibatis环境配置

    ### Struts2+Spring+Ibatis环境配置详解 在Java Web开发领域,Struts2、Spring与Ibatis(现称为MyBatis)是三个非常重要的框架。它们各自有着不同的功能定位,通过合理地结合使用,可以极大地提升项目的开发效率与...

    Struts+Spring+Ibatis环境配置(一) - zwjxf的专栏 - 博

    Struts+Spring+Ibatis环境配置(一) - zwjxf的专栏 - 博

    Struts2+Spring+Ibatis环境配置.doc

    综上所述,搭建Struts2+Spring+Ibatis环境需要安装相应的jar包,并配置Struts2的`struts.xml`文件,以及可能涉及到的其他如Spring的配置文件。对于初学者来说,这个教程会指导他们如何整合这三个框架,创建一个完整...

    Ibatis基本配置---[环境搭建

    Ibatis基本配置---[环境搭建

    ibatis用xml配置文件配置使用

    2. **全局配置文件设置**:在`mybatis-config.xml`中,需要配置数据库连接信息,例如数据源(DataSource)、环境(Environment)、事务管理器(TransactionManager)和SqlSessionFactory。例如: ```xml ...

    ibatis 配置文件详解

    5. **environment**:环境配置,包括事务管理和数据源的配置。 6. **mappers**:映射器的配置,用于指定SQL映射文件的位置,可以是单个文件或者整个包下的所有映射文件。 #### 三、ibatis的SQL映射文件详解 SQL...

    ibatis配置文件信息

    `SqlMapConfig.xml` 是ibatis的核心配置文件,用于配置全局环境、事务管理器、数据源以及SQL映射文件等。 ```xml ${driver}"/&gt; ${url}"/&gt; ${username}"/&gt; ${password}"/&gt; ``` - **properties**...

    ibatis环境搭建教程

    ### ibatis环境搭建教程 #### 一、ibatis简介与特点 ibatis是一个开源的持久层框架,它提供了一种简单而强大的ORM(Object-Relational Mapping)实现方式,能够帮助开发者更高效地进行Java应用及数据库之间的交互...

    Ibatis的应用和配置

    这个文件中包含了数据源、事务管理器、环境配置、Mappers等重要元素的定义。例如: ```xml ``` 在这个配置文件中,我们定义了开发环境的数据源和事务管理器,并指定了Mapper文件的...

    Spring+ibatis 保留ibatis事务的配置

    根据提供的文件信息,本文将详细解析如何在Spring与ibatis框架整合时,通过特定配置来保留ibatis事务处理机制,并实现对事务的自定义控制。文章将围绕标题、描述及部分代码片段展开讨论。 ### Spring与ibatis整合...

    01_ibatis教程_准备ibatis环境.zip

    标签同样为"01_ibatis教程_准备ibatis环境.zip",进一步确认了文件内容的性质,即围绕Ibatis的初步学习,特别是环境配置部分。 【子文件解析】 根据"01_传智播客ibatis教程_准备ibatis环境"的子文件名,我们可以...

    01_传智播客ibatis教程_准备ibatis环境

    【标题】"01_传智播客ibatis教程_准备ibatis环境"涉及的是一个关于集成和配置Java持久层框架iBatis的学习资源,由传智播客提供,由赖老师主讲。这个教程主要目标是帮助开发者搭建并熟悉iBatis的开发环境,以便后续...

    ibatis配置文件

    配置文件以XML格式编写,遵循DTD(Document Type Definition)规范,用于定义ibatis环境的设置和数据源的连接方式。 ```xml &lt;!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" ...

    ibatis 缓存配置策略

    iBatis 缓存配置策略是提高数据库查询性能的关键手段之一。iBatis 提供了本地缓存机制,用于存储查询结果集,减少不必要的数据库访问。以下是对iBatis缓存配置策略的深入解析: 首先,iBatis 的 Cache 键(key)是...

    spring+ibatis配置实例

    "spring+ibatis配置实例"这个项目提供了一个完整的开发环境,包含所需的依赖包和标准化的项目结构,对初学者或开发者来说极具价值。 Spring是一个全面的Java应用框架,它提供了依赖注入(Dependency Injection,DI...

    Spring+Struts+ibatis下配置数据读写分离及事务(一)

    在数据读写分离的环境中,iBATIS可以通过配置不同的数据源,分别连接读库和写库。Spring可以管理和切换这些数据源,使得在执行写操作时使用写库,而在读操作时使用读库。 为了实现上述功能,我们需要集成和配置相关...

    ibatis安装配置

    在本文中,我们将深入探讨如何在 MyEclipse 开发环境中安装并配置 Ibatis,以及如何使用其代码生成器 Abator。 首先,我们需要获取 Ibatis 的核心库。在给定的文件列表中,`ibatis-2.3.3.720.jar` 就是 Ibatis 的...

Global site tag (gtag.js) - Google Analytics