新闻正文

iBatis示例教程

来源:JAVA天堂  JAVA学习者  2007-7-17 23:48:03 网友评论 0 条 字体:[ ] ~我要投稿!
1.将ibatis 的jar 包添加到工程中

2.先新建一个xml文件 SqlMap.xml,在这个文件中定义使用了哪些ibatis资源文件
<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE sql-map-config PUBLIC "-//iBATIS.com//DTD SQL Map Config 1.0//EN"
  "
http://www.ibatis.com/dtd/sql-map-config.dtd">
<sql-map-config>
<sql-map resource="com/montersoft/ibatis/common/monter.xml"/>
</sql-map-config>

3.定义资源文件monter.xml
<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE sql-map
  PUBLIC "-//iBATIS.com//DTD SQL Map 1.0//EN"
  "
http://www.ibatis.com/dtd/sql-map.dtd">


<sql-map name="monter">
  <result-map name="monterInfo" class="java.util.HashMap">
  <property name="id" column="id" type="VARCHAR"/>
  <property name="name" column="name" type="VARCHAR"/>
  <property name="age" column="age" type="NUMBERIC"/>
  </result-map>
  <dynamic-mapped-statement name="monter_getByPk" result-map="monterInfo">
  select id,name,age from monter where id = #id#
  </dynamic-mapped-statement>
</sql-map>

**注意dynamic-mapped-statement的name 必须唯一

4.定义一个公共类来生成SqlMap
package com.montersoft.ibatis.common;
import java.io.Reader;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.ibatis.common.resources.Resources;
import com.ibatis.db.sqlmap.SqlMap;
import com.ibatis.db.sqlmap.XmlSqlMapBuilder;
public class SqlMapUtil {
private static Log loger = LogFactory.getLog(SqlMapUtil.class);
public static SqlMap sqlMap ;
public static SqlMap loadSqlMap(){
Reader reader = null;
try{
  reader = Resources.getResourceAsReader("com/montersoft/ibatis/common/SqlMap.xml");
  return XmlSqlMapBuilder.buildSqlMap(reader);
}
catch(Exception e){  
  loger.error("there is a error=>"+e.getMessage());
}
return null;
}
public static SqlMap getSqlMap(){
if( sqlMap == null )
  sqlMap = loadSqlMap();
return sqlMap;
}
}
5.再新建DAO,Vo,
public interface IVO {
}
public class MonterVo implements IVO{
public String id ;
public String name;
public int age;
...省去 get ,set 方法
}
public class MonterDao {
  public IVO getBkPK(Connection conn,IVO vo) throws Exception{
  try{  


  Object map = SqlMapUtil.getSqlMap().
    getMappedStatement("monter_getByPk").executeQueryForObject(conn,vo);
  return   copyMap2Vo(map);
  }
  catch(Exception e){    
    throw new Exception(e.getMessage());
  }
  }
  private IVO copyMap2Vo(Object map){
  MonterVo vo = new MonterVo();
try{
  BeanUtils.copyProperties(vo,map);
}
catch(Exception e){
  e.printStackTrace();
}
return vo;
}
}

6.至此就建立了一个简单的ibatis示例.


收藏到ViVi   收藏此页到365Key
上一篇: JAVA代码编写的30条建议
下一篇:iBatis学习方法及入门总结
用户名:新注册) 密码: 匿名评论 [所有评论]
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
本栏搜索
  • Google
   网站首页 -  网站地图 -  技术学习 -  网站投稿 -  帮助中心
Copyright 2003-2008 www.javah.net All Rights Reserved
2008 如果你喜欢本站 请收藏本站 并推荐给你的朋友一起分享