首先来看看配置文件。据自己目前了解。好像最少得两个。官方的例子就是两个。
我这里举例是三个配置文件
名字跟官方命名的一样,其中这个一个是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技术总结,ibatis技术总结ibatis技术总结
Spring+Ibatis技术:很好的架构文档
iBatis技术框架介绍。ibatis2.x教程。
iBATIS技术教程PPT和代码
iBATIS技术教程PPT和代码,PPT 解释了ibatis的一些基础知识,代码是有关PPT的案例的,仅供参考
iBATIS技术讲座.ppt..............................................
这是我临时写的一个比较简化的工作流,主要采用ibatis技术,也不知道是不是可以称之为工作流,总之是我自己琢磨的,写的不好,请高手吾骂呀。 这是第一个版本,以后我如果有时间也会继续完善,如果想交流的话,请发...
包括ibatis技术教程10个PPT,及两个demo
精简地让我们了解什么是ibatis,从而掌握这一门持久层的技术,对我的工作有一定的帮助。
iBATIS是一种“半自动化”的ORM实现。 所谓“半自动”,可能理解上有点生涩。纵观目前主流的 ORM,无论 Hibernate 还是Apache OJB,都对数据库结构提供了较为完整的封装,提供了从 POJO 到数据库表的全套映射机制。...
这是我自己用ssi框架编写的CRUD项目,可供使用
ibatis技术
本演示示例主要使用目前最新,最流行技术Struts2.1 +Spring 2.5.1+ibatis2.3整合开发而成,这与我以前发布的版本中最大特色是整合了Spring2.5.1中的注解功能和半自动化工具ibatis技术,这是本示例的两大特色,简化了配置...
ibatis实现分页技术,其中的分页都已经封装好了,大家需要的话可以下载下来看下
Spring mvc 与Ibatis 技术的结合时目前比较流行的一种技术搭配,用于开发web应用.
T3 Ibatis整合技术
Java ibatis缓存技术,ibatis缓存的详细解释 值得学习!
ibatis的技术终结,挺好的多看看吧,相关资料还有 ibatis的技术开发,技术使用等相关资料
ibatis 技术文档,挺不错的, 包括中英文资料,好好理解,不错的