iBATIS DAO framework初体验

开发 后端
iBATIS DAO framework初体验为你讲述iBATIS DAO framework的具体应用操作。

iBATIS DAO framework的应用一、

准备工作

1.到这里可以下载http://apache.etoak.com/ibatis/binaries/ibatis.java/iBATIS_DAO-2.2.0.638.zip

2.首先写DAO层接口及实现类:具体类方法省略,主要是实现类需要继承

com.ibatis.dao.client.template.SqlMapDaoTemplate类

Java代码

  1. package datamigrate;  
  2. import datamigrate.TCommGuestbook0;  
  3. import datamigrate.TCommGuestbook0Example;  
  4. import java.util.List;  
  5.  
  6. public interface TCommGuestbook0DAO {  
  7.  int countByExample(TCommGuestbook0Example example);  
  8. }   

Java代码

  1. package datamigrate;     
  2. import com.ibatis.dao.client.DaoManager;     
  3. import com.ibatis.dao.client.template.SqlMapDaoTemplate;     
  4. import datamigrate.TCommGuestbook0;     
  5. import datamigrate.TCommGuestbook0Example;     
  6. import java.util.List;     
  7.     
  8. public class TCommGuestbook0DAOImpl extends SqlMapDaoTemplate implements TCommGuestbook0DAO {     
  9.     public TCommGuestbook0DAOImpl(DaoManager daoManager) {     
  10.         super(daoManager);     
  11.     }     
  12.     
  13.     public int countByExample(TCommGuestbook0Example example) {     
  14.         Integer count = (Integer) queryForObject(     
  15.                 "t_comm_guestbook_0.ibatorgenerated_countByExample", example);     
  16.           return count;  
  17.     }   
  18. }  

iBATIS DAO framework应用二、

开始iBATIS DAO framework的体验

1.配置dao.xml –The Configuration File (http://ibatis.apache.org/dtd/dao-2.dtd)

Xml代码

  1. ﹤!DOCTYPE daoConfig  
  2.  
  3.     PUBLIC "-//ibatis.apache.org//DTD DAO Configuration 2.0//EN"  
  4.  
  5.     "http://ibatis.apache.org/dtd/dao-2.dtd"﹥  
  6.  
  7. ﹤daoConfig﹥  
  8.  ﹤!-- Example SQL Maps DAO Configuration --﹥  
  9.  ﹤context﹥  
  10.   ﹤transactionManager type="SQLMAP"﹥  
  11.    ﹤property name="SqlMapConfigResource" value="sqlmap-config.xml" /﹥  
  12.   ﹤/transactionManager﹥  
  13.   ﹤dao interface="datamigrate.TCommGuestbook0DAO" implementation="datamigrate.TCommGuestbook0DAOImpl" /﹥  
  14.   ﹤dao interface="datamigrate.TCommMsgbrdDAO" implementation="datamigrate.TCommMsgbrdDAOImpl" /﹥  
  15.  ﹤/context﹥  
  16. ﹤/daoConfig﹥  

非常简单的配置:

1.申明了事物和JDBC连接使用sqlmap-config.xml(Ibatis标准的配置文件,如下)中的属性,

2.申明了需要管理的dao文件接口和实现。

sqlmap-config.xml

Xml代码

  1. ﹤?xml version="1.0" encoding="GBK"?﹥    
  2. ﹤!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"     
  3.         "http://www.ibatis.com/dtd/sql-map-config-2.dtd"﹥    
  4.     
  5. ﹤sqlMapConfig﹥    
  6.     
  7.     ﹤settings cacheModelsEnabled="true"    
  8.               useStatementNamespaces="true"/﹥    
  9.     ﹤transactionManager type="JDBC"﹥    
  10.         ﹤dataSource type="SIMPLE"﹥    
  11.             ﹤property name="JDBC.Driver" value="com.mysql.jdbc.Driver" /﹥    
  12.             ﹤property name="JDBC.ConnectionURL" value="jdbc:mysql:
  13. //134.1:3306/b23?useUnicode=true&
  14. characterEncoding=gbk&
  15. zeroDateTimeBehavior=convertToNull" /﹥    
  16.             ﹤property name="JDBC.Username" value="weisong" /﹥    
  17.             ﹤property name="JDBC.Password" value="weisong" /﹥    
  18.         ﹤/dataSource﹥    
  19.                 ﹤/transactionManager﹥    
  20.     ﹤sqlMap resource="datamigrate/t_comm_guestbook_0_SqlMap.xml" /﹥    
  21.     ﹤sqlMap resource="datamigrate/t_comm_msgbrd_SqlMap.xml" /﹥    
  22. ﹤/sqlMapConfig﹥  


iBATIS DAO framework具体支持一下集中JDBC连接和事物管理方式(当然通常会用sqlmap)

图1

2.使用方式:

iBATIS DAO framework接口类非常简洁:

图2

使用起来大致如下:

Java代码

  1. package datamigrate;     
  2.     
  3. import java.io.IOException;     
  4. import java.io.Reader;     
  5. import java.util.List;     
  6.     
  7. import com.ibatis.common.resources.Resources;     
  8. import com.ibatis.dao.client.DaoManager;     
  9. import com.ibatis.dao.client.DaoManagerBuilder;     
  10.     
  11. public class MainClass {     
  12.     public static void main(String[] args) throws IOException {     
  13.         Reader reader = Resources.getResourceAsReader("dao.xml");     
  14.         DaoManager daoManager = DaoManagerBuilder.buildDaoManager(reader);     
  15.     
  16.         try {     
  17.             TCommMsgbrdDAO dao1 = (TCommMsgbrdDAO) daoManager     
  18.                     .getDao(TCommMsgbrdDAO.class);     
  19.             daoManager.startTransaction();     
  20.             List﹤TCommMsgbrdWithBLOBs﹥ oldDB = dao1     
  21.                     .selectByExampleWithBLOBs(new TCommMsgbrdExample());     
  22.             daoManager.commitTransaction();     
  23.         } catch (Exception e) {     
  24.             // TODO Auto-generated catch block     
  25.             e.printStackTrace();     
  26.         } finally {     
  27.             daoManager.endTransaction();     
  28.         }     
  29.     
  30.     }     
  31. }  

获取到DaoManager 之后磊代码就是了,根本不需要什么web环境。

iBATIS DAO framework三、

跟iBATIS结合

现在使用iBATIS的时候,通常会选择“Ibator”工具来自动生成PO对象和sql-map.xml,在﹤daoGenerator﹥元素里面可以配置一个属性type="IBATIS",具体意思就是“The generated DAO objects will conform to the (now deprecated) iBATIS DAO framework.” 就会自动生成支持iBATIS DAO framework的DAO实现了。

iBATIS DAO framework的体验就向你介绍到这里,希望对你有所帮助。

【编辑推荐】

  1. iBATIS使用$和#的一些理解
  2. iBATIS分页的一些理解
  3. iBATIS应用之SQLMap API编程浅析
  4. 动态Mapped Statement在iBATIS中应用
  5. iBATIS中添加DAO的配置浅析
责任编辑:仲衡 来源: JavaEye
相关推荐

2009-07-20 18:00:16

iBATIS DAO事

2009-07-16 17:01:32

ibatis dao

2009-07-16 09:14:26

iBATIS DAO

2009-07-16 16:27:33

ibatis DAO

2009-07-22 13:32:43

iBATIS DAO

2009-03-09 15:12:39

XenServer安装

2009-08-01 09:06:35

UbuntuOneLinux开源操作系统

2009-07-17 14:20:31

ibatis Dao

2009-07-21 11:17:46

iBATISDAO的配置

2023-07-15 08:01:38

2011-05-30 15:12:10

App Invento 初体验

2010-11-22 10:31:17

Sencha touc

2009-07-17 14:03:34

ibatis DAO事务管理

2009-07-20 14:56:18

iBATIS.NET动态选择DAO

2011-09-15 15:03:10

2010-12-13 11:39:39

2011-08-02 10:26:59

iOS 多线程 线程

2009-11-30 10:09:02

谷歌Chrome OS

2011-11-01 10:30:36

Node.js

2013-06-08 10:15:29

Outlook 201Outlook 201
点赞
收藏

51CTO技术栈公众号