一:网上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环境配置详解 在Java Web开发领域,Struts2、Spring与Ibatis(现称为MyBatis)是三个非常重要的框架。它们各自有着不同的功能定位,通过合理地结合使用,可以极大地提升项目的开发效率与...
Struts+Spring+Ibatis环境配置(一) - zwjxf的专栏 - 博
综上所述,搭建Struts2+Spring+Ibatis环境需要安装相应的jar包,并配置Struts2的`struts.xml`文件,以及可能涉及到的其他如Spring的配置文件。对于初学者来说,这个教程会指导他们如何整合这三个框架,创建一个完整...
Ibatis基本配置---[环境搭建
2. **全局配置文件设置**:在`mybatis-config.xml`中,需要配置数据库连接信息,例如数据源(DataSource)、环境(Environment)、事务管理器(TransactionManager)和SqlSessionFactory。例如: ```xml ...
5. **environment**:环境配置,包括事务管理和数据源的配置。 6. **mappers**:映射器的配置,用于指定SQL映射文件的位置,可以是单个文件或者整个包下的所有映射文件。 #### 三、ibatis的SQL映射文件详解 SQL...
`SqlMapConfig.xml` 是ibatis的核心配置文件,用于配置全局环境、事务管理器、数据源以及SQL映射文件等。 ```xml ${driver}"/> ${url}"/> ${username}"/> ${password}"/> ``` - **properties**...
### ibatis环境搭建教程 #### 一、ibatis简介与特点 ibatis是一个开源的持久层框架,它提供了一种简单而强大的ORM(Object-Relational Mapping)实现方式,能够帮助开发者更高效地进行Java应用及数据库之间的交互...
这个文件中包含了数据源、事务管理器、环境配置、Mappers等重要元素的定义。例如: ```xml ``` 在这个配置文件中,我们定义了开发环境的数据源和事务管理器,并指定了Mapper文件的...
根据提供的文件信息,本文将详细解析如何在Spring与ibatis框架整合时,通过特定配置来保留ibatis事务处理机制,并实现对事务的自定义控制。文章将围绕标题、描述及部分代码片段展开讨论。 ### Spring与ibatis整合...
标签同样为"01_ibatis教程_准备ibatis环境.zip",进一步确认了文件内容的性质,即围绕Ibatis的初步学习,特别是环境配置部分。 【子文件解析】 根据"01_传智播客ibatis教程_准备ibatis环境"的子文件名,我们可以...
【标题】"01_传智播客ibatis教程_准备ibatis环境"涉及的是一个关于集成和配置Java持久层框架iBatis的学习资源,由传智播客提供,由赖老师主讲。这个教程主要目标是帮助开发者搭建并熟悉iBatis的开发环境,以便后续...
配置文件以XML格式编写,遵循DTD(Document Type Definition)规范,用于定义ibatis环境的设置和数据源的连接方式。 ```xml <!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" ...
iBatis 缓存配置策略是提高数据库查询性能的关键手段之一。iBatis 提供了本地缓存机制,用于存储查询结果集,减少不必要的数据库访问。以下是对iBatis缓存配置策略的深入解析: 首先,iBatis 的 Cache 键(key)是...
"spring+ibatis配置实例"这个项目提供了一个完整的开发环境,包含所需的依赖包和标准化的项目结构,对初学者或开发者来说极具价值。 Spring是一个全面的Java应用框架,它提供了依赖注入(Dependency Injection,DI...
在数据读写分离的环境中,iBATIS可以通过配置不同的数据源,分别连接读库和写库。Spring可以管理和切换这些数据源,使得在执行写操作时使用写库,而在读操作时使用读库。 为了实现上述功能,我们需要集成和配置相关...
在本文中,我们将深入探讨如何在 MyEclipse 开发环境中安装并配置 Ibatis,以及如何使用其代码生成器 Abator。 首先,我们需要获取 Ibatis 的核心库。在给定的文件列表中,`ibatis-2.3.3.720.jar` 就是 Ibatis 的...