首先来看看配置文件。据自己目前了解。好像最少得两个。官方的例子就是两个。
我这里举例是三个配置文件
名字跟官方命名的一样,其中这个一个是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="com/fssoft/SqlMap.properties" />
<transactionManager type="JDBC">
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="${driver}" />
<property name="JDBC.ConnectionURL" value="${url}" />
<property name="JDBC.Username" value="${username}" />
<property name="JDBC.Password" value="${password}" />
</dataSource>
</transactionManager>
<sqlMap resource="com/fssoft/Log.xml" />
</sqlMapConfig>
然后连接的jdbc的配置文件命名SqlMap.properties
,我这里用的是MySQL
driver=com.mysql.jdbc.Driver
url=jdbc\:mysql\://127.0.0.1\:3306/xlnewsdb
username=root
password=root
以Log表为例子首先要有Log这个实体类
package com.fssoft.vo;
import java.util.Date;
public class Log {
private int lid;
private String message;
private Date ldate;
private String lname;
@Override
public String toString() {
return "Log [ldate=" + ldate + ", lid=" + lid + ", lname=" + lname
+ ", message=" + message + "]";
}
public int getLid() {
return lid;
}
public void setLid(int lid) {
this.lid = lid;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public Date getLdate() {
return ldate;
}
public void setLdate(Date ldate) {
this.ldate = ldate;
}
public String getLname() {
return lname;
}
public void setLname(String lname) {
this.lname = lname;
}
}
然后接着是Log.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="Log">
<typeAlias alias="Log" type="com.fssoft.vo.Log"/>
<resultMap id="LogResult" class="Log">
<result property="lid" column="lid"/>
<result property="message" column="message"/>
<result property="ldate" column="ldate"/>
<result property="lname" column="lname"/>
</resultMap>
<select id="selectAllLogs" resultMap="LogResult">
select * from Log
</select>
</sqlMap>
刚开始看官方的配置认为这些似曾相似,但事实上就是以前学习的基础
在这里我只是简单的写了查询,所以接口跟实现类都很简单ILogDAO:
package com.fssoft.dao;
import java.util.List;
import com.fssoft.vo.Log;
public interface ILogDAO {
List<Log> getAllLogs();
}
package com.fssoft.dao.impl;
import java.io.IOException;
import java.io.Reader;
import java.sql.SQLException;
import java.util.List;
import com.fssoft.dao.ILogDAO;
import com.fssoft.vo.Log;
import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
public class LogDAOImpl implements ILogDAO {
private static SqlMapClient sqlMapClient = null;
static {
try {
//读取配置
Reader reader = Resources
.getResourceAsReader("com/fssoft/SqlMapConfig.xml");
sqlMapClient = SqlMapClientBuilder.buildSqlMapClient(reader);
} catch (IOException e) {
e.printStackTrace();
}
}
@SuppressWarnings("unchecked")
public List<Log> getAllLogs() {
List<Log> log = null;
try {
log = sqlMapClient.queryForList("selectAllLogs");
} catch (SQLException e) {
e.printStackTrace();
}
return log;
}
}
package com.test;
import org.junit.Test;
import com.fssoft.dao.ILogDAO;
import com.fssoft.dao.impl.LogDAOImpl;
import com.fssoft.vo.Log;
public class IbatisTest {
@Test
public void getAll(){
try {
ILogDAO logDAO = new LogDAOImpl();
for (Log log:logDAO.getAllLogs()){
System.out.println(log);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
### ibatis技术总结 #### 1. 创建iBatis工程的步骤 在开始构建一个基于iBatis的应用之前,需要遵循一系列明确的步骤来确保项目的顺利进行: 1. **建立数据库**:首先需要设计并创建数据库,这一步骤至关重要,...
Spring+Ibatis技术:很好的架构文档
iBatis技术框架介绍。ibatis2.x教程。
【标题】"ibatis技术做的小demo"是一个基于iBATIS框架实现的简单CRUD(创建、读取、更新、删除)项目示例。iBATIS是Java领域中一款流行的数据持久层框架,它允许开发者将SQL语句直接写在XML配置文件中,实现了SQL与...
iBATIS,全称为“Infrastructure As A Business ...总的来说,iBATIS技术教程PPT和代码资源为初学者提供了一个全面了解和学习iBATIS的平台。通过理论学习与实践操作相结合,你将能够熟练掌握这一强大的数据访问框架。
**Ibatis 技术详解** Ibatis 是一款优秀的开源持久层框架,主要应用于Java开发环境。它由Clinton Begin 创建,并在2005年首次发布,最初是作为Apache基金会的一个项目,后来转到了MyBatis的伞下。Ibatis 的核心理念...
在iBatis技术教程的10个PPT中,通常会涵盖以下内容: 1. **简介**:介绍iBatis的历史、目标和主要特点,以及与传统的JDBC相比的优势。 2. **安装与配置**:讲解如何在项目中集成iBatis,包括添加依赖、配置...
这是我临时写的一个比较简化的工作流,主要采用ibatis技术,也不知道是不是可以称之为工作流,总之是我自己琢磨的,写的不好,请高手吾骂呀。 这是第一个版本,以后我如果有时间也会继续完善,如果想交流的话,请发...
iBATIS,全称为“Infrastructure for Binding Applications To Its Persistence Layer”,即应用程序到其持久层的绑定基础设施,是由Apache Software Foundation维护的一个开源项目。它最初由James Gulick开发,旨在...
IBATIS 是一个开源的 Java 库,它充当了数据访问层(Data Access Layer)的一个中间件,主要负责将SQL语句与Java代码解耦,简化数据库操作。与Hibernate相比,IBATIS更专注于SQL的控制,提供了一种混合型的解决方案...
iBATIS是一种“半自动化”的ORM实现。 所谓“半自动”,可能理解上有点生涩。纵观目前主流的 ORM,无论 Hibernate 还是Apache OJB,都对数据库结构提供了较为完整的封装,提供了从 POJO 到数据库表的全套映射机制。...
标题中的“ibatis_开发指南”意味着本文档是关于ibatis技术的学习材料。ibatis是一个流行的ORM(对象关系映射)工具,它允许开发者通过配置文件将对象模型映射到数据库表。ibatis的半自动化特性使得它在特定场景下更...
Struts2、Spring和iBatis是Java Web开发中常用的三个框架,它们分别负责MVC模式中的Action层、业务逻辑层以及数据访问层。将这三个框架整合在一起,可以构建出高效、灵活的企业级应用。 **Struts2** 是一个基于MVC...
压缩包子文件的文件名称列表 "iBATIS技术教程PPT和代码" 表明资源可能包含了一系列的演示文稿和示例代码。PPT教程通常会概述iBATIS的核心概念,步骤和最佳实践,而示例代码则能帮助学习者通过实践来理解iBATIS的工作...
本文将深入探讨《iBATIS in Action》这本书中关于iBATIS技术的关键知识点。本书详细介绍了iBATIS在Java开发环境中的应用方法,对于想要深入了解iBATIS框架及其在实际项目中如何发挥作用的开发者来说是一本不可多得的...
- iBATIS技术教程PPT和代码:提供的压缩包可能包含详细的PPT讲解和示例代码,是学习和理解iBATIS的实用资料。 通过深入学习和实践,开发者可以充分利用iBATIS的优势,实现高效、灵活的数据库操作,提升项目开发效率...
本书《iBATIS in Action》是一本深入探讨iBATIS技术的权威指南,对于想要深入了解和熟练掌握iBATIS的开发者来说,无疑是一份宝贵的学习资料。 iBATIS 的核心理念是将SQL语句与Java代码分离,通过XML或注解的方式...
本演示示例主要使用目前最新,最流行技术Struts2.1 +Spring 2.5.1+ibatis2.3整合开发而成,这与我以前发布的版本中最大特色是整合了Spring2.5.1中的注解功能和半自动化工具ibatis技术,这是本示例的两大特色,简化了配置...
本篇将详细讲解如何利用Ibatis实现分页技术。 一、Ibatis简介 Ibatis是由Clinton Begin创建的一个SQL映射框架,它允许开发者将SQL语句直接写在配置文件中,通过Java接口与数据库进行交互,从而避免了传统的JDBC代码...