`

iBatis的Dao类

 
阅读更多
package com.ibatis.example;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class BaseDao extends
        org.springframework.orm.ibatis.support.SqlMapClientDaoSupport
{
    public int delete(String name, Serializable id)
    {
        return getSqlMapClientTemplate().delete(name, id);
    }
   
    public <T> T get(String name, Serializable id)
    {
        return (T)getSqlMapClientTemplate().queryForObject(name, id);
    }
   
    public <T> T get(String name, Object object)
    {
        return (T)getSqlMapClientTemplate().queryForObject(name, object);
    }
   
    public <T> List<T> getList(String name)
    {
        return getSqlMapClientTemplate().queryForList(name);
    }
   
    public <T> List<T> getList(String name, Object object)
    {
        return getSqlMapClientTemplate().queryForList(name, object);
    }
   
    public void insert(String name, Object o)
    {
        getSqlMapClientTemplate().insert(name, o);
    }
   
    public int update(String name, Object o)
    {
        return getSqlMapClientTemplate().update(name, o);
    }
   
    public <T> T count(String name)
    {
        return (T)getSqlMapClientTemplate().queryForObject(name);
    }
   
    public <T> T count(String name, Object object)
    {
        return (T)getSqlMapClientTemplate().queryForObject(name, object);
    }
   
    /**   
    * sql 查询.   
    * @author yuyang  
    * @param sql 直接sql的语句(需要防止注入式攻击)   
    */
    public <T> List<T> getList(String name, String sql)
    {
        Assert.hasText(sql);
        if (StringUtils.isEmpty(sql))
            return this.getSqlMapClientTemplate().queryForList(name, null);
        else
            return this.getSqlMapClientTemplate().queryForList(name, sql);
    }
   
    /**   
    * map查询.   
    * @author yuyang  
    * @param map 包含各种属性的查询   
     */
    public <T> List<T> getList(String name, Map map)
    {
        if (map == null)
            return this.getSqlMapClientTemplate().queryForList(name, null);
        else
        {
            map.put("findBy", "True");
            return this.getSqlMapClientTemplate().queryForList(name, map);
        }
    }
   
    /**   
        * 分页查询.   
       * @param sql 直接sql的语句(需要防止注入式攻击)   
       */
    public <T> Map<String, Object> getList(String name, Page page)
    {
        List<T> list = new ArrayList<T>();
        Map<String, Object> map = new HashMap<String, Object>();
        page = PageInation.getPageALLRecorde(page);
        Map paramMap = new HashMap();
        paramMap.put("sql", page.getPageSql());
        paramMap.put("result", page.getPageResult());
        paramMap.put("firstRecord", page.getFristPage());
        paramMap.put("endRecorde", page.getEndPage());
        list = getSqlMapClientTemplate().queryForList(name, paramMap);
        map.put("list", list);
        map.put("page", page);
        return map;
    }
}
分享到:
评论

相关推荐

    iBATIS-DAO-2.3.4.726.rar_com.ibatis.dao_iBATIS dao 2_iBatis DAO_

    在源码中,`com.ibatis.dao`包下包含了许多关键类,例如`SqlMapClient`是整个框架的入口,负责管理所有的SQL Maps;`SqlMapExecutor`是执行SQL的接口,提供了各种数据库操作的方法;而`SqlMapSession`则封装了事务...

    IBATISDAO库类操作

    **IBATISDAO库类操作详解** 在Java开发中,IBATIS是一个流行的数据访问接口框架,它提供了灵活的SQL映射机制,使得开发者能够直接使用SQL语句进行数据库操作,而无需编写复杂的JDBC代码。`IBATISDAO`库类是基于...

    iBatis DAO

    iBatis DAO

    ibatis dao包

    ibatis dao 包ibatis dao 包ibatis dao 包ibatis dao 包ibatis dao 包ibatis dao 包ibatis dao 包ibatis dao 包ibatis dao 包ibatis dao 包

    生成ibatis Dao

    本知识点主要聚焦于如何生成Ibatis的Dao(数据访问对象)类,以及相关的实体类(Entity)和SQL映射文件(sqlMap)。下面我们将详细介绍这个过程。 首先,Ibatis Dao的生成通常涉及到几个关键步骤: 1. **配置文件*...

    ibatisDao.rar

    本资料“ibatisDao.rar”包含了一份对iBATIS DAO框架的深入分析,旨在帮助开发者更好地理解和应用这一技术。 在iBATIS中,DAO(Data Access Object)是数据库访问对象,它封装了对数据库的增删查改操作。DAO模式是...

    iBATIS-DAO-2

    通过以上概述,我们可以看到iBATIS DAO API是如何通过一组精心设计的类和接口,为Java应用提供了一种强大而灵活的数据访问解决方案。它不仅简化了数据库交互的复杂性,还提高了应用的可维护性和可扩展性。无论是处理...

    iBATIS_DAO-2.2.0.638

    iBATIS DAO是Java开发中的一个关键组件,它在企业级应用中被广泛使用,特别是在数据访问层(DAO,Data Access Object)的设计中。iBATIS DAO 2.2.0.638是一个特定版本的iBATIS框架,这个版本提供了对数据库操作的...

    ibatis--dao的应用

    Ibatis的动态代理机制会自动生成实现这个接口的类,这样我们就可以直接通过`UserDao`实例来调用数据库操作,而无需关心具体的实现细节。 此外,Ibatis还支持动态SQL,这意味着可以在映射文件中编写条件语句,根据...

    iBATIS-DAO-2_en

    iBATIS DAO API由一系列具有特定功能的类组成,它们共同构成了一个强大的数据访问框架: 1. **DAO接口**:定义了数据访问的公共API,是应用程序与数据层交互的契约。 2. **DAO实现类**:包含了具体的数据库操作逻辑...

    使用abator搭建ibatis dao框架

    本篇文章将详细介绍如何使用Abator工具搭建基于Ibatis的DAO框架。 Abator是一款自动化工具,它可以自动生成Java代码和SQL映射文件,大大简化了开发过程。下面我们将分步骤解析如何利用Abator来创建Ibatis DAO框架。...

    ibatis-dao-2.jar

    ibatis-dao-2.jar gggggggggggg

    ibatis开发包(common+sqlmap+dao)

    这个开发包包含了Ibatis的核心组件,分别是`ibatis-common-2.jar`、`ibatis-sqlmap-2.jar`和`ibatis-dao-2.jar`。 1. **ibatis-common-2.jar**: 这个组件是Ibatis的基础工具包,包含了Ibatis运行时的一些通用类和...

    J2EE核心:iBatis_DAO入门与进阶.doc

    例如,对于SQL Maps的DAO实现,我们需要一个`&lt;data-source&gt;`元素指明配置文件,以及一个`&lt;dao&gt;`元素声明对应的DAO类。 在项目运行时,通过DAO框架,我们可以根据需求动态选择合适的DAO实现,实现对不同数据存储方式...

    自动生成ibatis 实体类文件

    在Java开发中,MyBatis Generator(MBG)是一个强大的工具,它可以帮助开发者自动生成SQL映射文件、Java实体类以及对应的DAO接口。标题“自动生成iBatis 实体类文件”表明我们要讨论的是如何利用MBG来自动化创建与...

    IBatis常用操作封装

    在`IBatisDao`中,通常会有一个事务管理类来包裹这些操作,确保数据的一致性。 6. **缓存支持**:`IBatis`提供了本地缓存和二级缓存机制,可以提高数据读取效率。在`IBatisDao`中,可能有开启和关闭缓存的配置。 7...

    strut2+spring+ibatis 的ation层,service层,dao层自动生成,简单易用

    Struts2、Spring和iBatis是Java Web开发中常用的三大框架,它们分别负责MVC模式中的Action层、业务逻辑层(Service层)以及数据访问层(DAO层)。本项目提供的是一款工具,能够自动化生成这三层的代码,极大地提高了...

    hibernate3.jar、ibatis-dao-2.jar、spring.jar、struts.jar、log4j-1.2.9.jar

    5. **iBatis-dao-2.jar**:iBatis(在本例中可能是iBATIS DAO的特定版本)是另一种ORM框架,不同于Hibernate,它更强调SQL的灵活性。iBatis允许开发者编写自定义的SQL,将SQL语句直接嵌入XML配置文件或Java代码中,...

    ibatis SQL映射文件、DAO、model自动生成工具源码

    这个"ibatis SQL映射文件、DAO、model自动生成工具"的源码,旨在简化开发过程,通过自动化生成基本的Ibatis相关代码,提高开发效率。 首先,SQL映射文件(Mapper XML)是Ibatis的核心部分,它定义了数据库操作的SQL...

Global site tag (gtag.js) - Google Analytics