iBATIS实例创建的五大步浅析

开发 后端
iBATIS实例创建的五大步浅析是通过简单的一个实例的创建来向你介绍iBATIS实例创建的过程,希望对你有所帮助。

iBATIS实例的创建是什么过程呢?让我们开始我们的讲述:

iBATIS实例创建第一步:

将iBATIS的jar 包添加到工程中

iBATIS实例创建第二步

新建一个xml文件SqlMap.xml

在这个文件中定义使用了哪些iBATIS资源文件

  1. ﹤?xml version="1.0" encoding="gb2312"?﹥  
  2. ﹤!DOCTYPE sql-map-config PUBLIC "-//iBATIS.com//DTD SQL Map Config 1.0//EN"  
  3.   "http://www.ibatis.com/dtd/sql-map-config.dtd"﹥  
  4. ﹤sql-map-config﹥  
  5. ﹤sql-map resource="com/montersoft/ibatis/common/monter.xml"/﹥  
  6. ﹤/sql-map-config﹥ 

iBATIS实例创建第三步:

定义资源文件monter.xml

  1. ﹤?xml version="1.0" encoding="gb2312"?﹥  
  2. ﹤!DOCTYPE sql-map  
  3.   PUBLIC "-//iBATIS.com//DTD SQL Map 1.0//EN"  
  4.   "http://www.ibatis.com/dtd/sql-map.dtd"﹥   
  5.  
  6.  
  7. ﹤sql-map name="monter"﹥  
  8.   ﹤result-map name="monterInfo" class="java.util.HashMap"﹥  
  9.   ﹤property name="id" column="id" type="VARCHAR"/﹥  
  10.   ﹤property name="name" column="name" type="VARCHAR"/﹥  
  11.   ﹤property name="age" column="age" type="NUMBERIC"/﹥  
  12.   ﹤/result-map﹥   
  13.   ﹤dynamic-mapped-statement name="monter_getByPk" result-map="monterInfo"﹥  
  14.   select id,name,age from monter where id = #id#  
  15.   ﹤/dynamic-mapped-statement﹥  
  16. ﹤/sql-map﹥ 

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

iBATIS实例创建第四步:

定义一个公共类来生成SqlMap

  1. package com.montersoft.ibatis.common;  
  2. import java.io.Reader;  
  3. import org.apache.commons.logging.Log;  
  4. import org.apache.commons.logging.LogFactory;  
  5. import com.ibatis.common.resources.Resources;  
  6. import com.ibatis.db.sqlmap.SqlMap;   
  7. import com.ibatis.db.sqlmap.XmlSqlMapBuilder;  
  8. public class SqlMapUtil {   
  9. private static Log loger = LogFactory.getLog(SqlMapUtil.class);  
  10. public static SqlMap sqlMap ;   
  11. public static SqlMap loadSqlMap(){  
  12. Reader reader = null;  
  13. try{  
  14.   reader = Resources.getResourceAsReader("com/montersoft/ibatis/common/SqlMap.xml");  
  15.   return XmlSqlMapBuilder.buildSqlMap(reader);  
  16. }  
  17. catch(Exception e){     
  18.   loger.error("there is a error=>"+e.getMessage());  
  19. }  
  20. return null;  
  21. }   
  22. public static SqlMap getSqlMap(){  
  23. if( sqlMap == null )  
  24.   sqlMap = loadSqlMap();  
  25. return sqlMap;  
  26. }   

iBATIS实例创建第五步

新建DAO,Vo

  1. public interface IVO {   
  2. }  
  3. public class MonterVo implements IVO{   
  4. public String id ;  
  5. public String name;  
  6. public int age;  
  7. //...省去 get ,set 方法  
  8. }  
  9. public class MonterDao {   
  10.   public IVO getBkPK(Connection conn,IVO vo) throws Exception{  
  11.   try{     
  12.  
  13.  
  14.   Object map = SqlMapUtil.getSqlMap().  
  15.     getMappedStatement("monter_getByPk").executeQueryForObject(conn,vo);  
  16.   return   copyMap2Vo(map);  
  17.   }  
  18.   catch(Exception e){       
  19.     throw new Exception(e.getMessage());  
  20.   }  
  21.   }   
  22.   private IVO copyMap2Vo(Object map){  
  23.   MonterVo vo = new MonterVo();  
  24. try{  
  25.   BeanUtils.copyProperties(vo,map);  
  26. }  
  27. catch(Exception e){  
  28.   e.printStackTrace();  
  29. }  
  30. return vo;  
  31. }  

iBATIS实例至此就建立了,那么通过这个简单的实例是不是对iBATIS实例的建立有了更明确的认识呢?

【编辑推荐】

  1. iBATIS测试类的详细写法
  2. iBATIS使用之高级查询技术详解
  3. iBATIS分页源码真相探讨
  4. iBATIS教程之入门浅析
  5. Hibernate与iBATIS的较量浅析
责任编辑:仲衡 来源: 百度空间
相关推荐

2009-05-08 09:20:56

IT创业员工就业

2009-07-20 17:42:04

iBATIS入门

2009-08-31 13:41:24

C#创建PDF文件

2009-08-04 13:07:48

VMMHyper-V集群虚拟化

2012-12-27 08:57:30

CA TechnoloIT管理IT运营

2012-12-26 14:40:05

IT运维企业管理

2021-07-09 05:51:00

增强分析敏捷性CIO

2021-09-01 20:37:59

云数据库云计算迁移

2009-07-22 09:44:05

iBATIS Para

2009-09-08 10:44:51

2010-10-14 08:55:02

Android布局方式

2010-06-28 15:26:21

UML关系类型

2012-07-13 15:07:03

iPad商用

2009-07-16 13:08:09

iBATIS快速创建应

2011-11-18 09:49:48

2010-03-10 15:54:33

Python读写文件

2009-07-22 11:11:39

iBATIS分页实例ObjectDataS

2009-07-22 11:27:36

iBATIS模糊查询

2009-04-22 10:03:58

2009-07-21 11:17:46

iBATISDAO的配置
点赞
收藏

51CTO技术栈公众号