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;
}
}
分享到:
相关推荐
在源码中,`com.ibatis.dao`包下包含了许多关键类,例如`SqlMapClient`是整个框架的入口,负责管理所有的SQL Maps;`SqlMapExecutor`是执行SQL的接口,提供了各种数据库操作的方法;而`SqlMapSession`则封装了事务...
**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(数据访问对象)类,以及相关的实体类(Entity)和SQL映射文件(sqlMap)。下面我们将详细介绍这个过程。 首先,Ibatis Dao的生成通常涉及到几个关键步骤: 1. **配置文件*...
本资料“ibatisDao.rar”包含了一份对iBATIS DAO框架的深入分析,旨在帮助开发者更好地理解和应用这一技术。 在iBATIS中,DAO(Data Access Object)是数据库访问对象,它封装了对数据库的增删查改操作。DAO模式是...
通过以上概述,我们可以看到iBATIS DAO API是如何通过一组精心设计的类和接口,为Java应用提供了一种强大而灵活的数据访问解决方案。它不仅简化了数据库交互的复杂性,还提高了应用的可维护性和可扩展性。无论是处理...
iBATIS DAO是Java开发中的一个关键组件,它在企业级应用中被广泛使用,特别是在数据访问层(DAO,Data Access Object)的设计中。iBATIS DAO 2.2.0.638是一个特定版本的iBATIS框架,这个版本提供了对数据库操作的...
Ibatis的动态代理机制会自动生成实现这个接口的类,这样我们就可以直接通过`UserDao`实例来调用数据库操作,而无需关心具体的实现细节。 此外,Ibatis还支持动态SQL,这意味着可以在映射文件中编写条件语句,根据...
iBATIS DAO API由一系列具有特定功能的类组成,它们共同构成了一个强大的数据访问框架: 1. **DAO接口**:定义了数据访问的公共API,是应用程序与数据层交互的契约。 2. **DAO实现类**:包含了具体的数据库操作逻辑...
本篇文章将详细介绍如何使用Abator工具搭建基于Ibatis的DAO框架。 Abator是一款自动化工具,它可以自动生成Java代码和SQL映射文件,大大简化了开发过程。下面我们将分步骤解析如何利用Abator来创建Ibatis DAO框架。...
ibatis-dao-2.jar gggggggggggg
这个开发包包含了Ibatis的核心组件,分别是`ibatis-common-2.jar`、`ibatis-sqlmap-2.jar`和`ibatis-dao-2.jar`。 1. **ibatis-common-2.jar**: 这个组件是Ibatis的基础工具包,包含了Ibatis运行时的一些通用类和...
例如,对于SQL Maps的DAO实现,我们需要一个`<data-source>`元素指明配置文件,以及一个`<dao>`元素声明对应的DAO类。 在项目运行时,通过DAO框架,我们可以根据需求动态选择合适的DAO实现,实现对不同数据存储方式...
在Java开发中,MyBatis Generator(MBG)是一个强大的工具,它可以帮助开发者自动生成SQL映射文件、Java实体类以及对应的DAO接口。标题“自动生成iBatis 实体类文件”表明我们要讨论的是如何利用MBG来自动化创建与...
在`IBatisDao`中,通常会有一个事务管理类来包裹这些操作,确保数据的一致性。 6. **缓存支持**:`IBatis`提供了本地缓存和二级缓存机制,可以提高数据读取效率。在`IBatisDao`中,可能有开启和关闭缓存的配置。 7...
Struts2、Spring和iBatis是Java Web开发中常用的三大框架,它们分别负责MVC模式中的Action层、业务逻辑层(Service层)以及数据访问层(DAO层)。本项目提供的是一款工具,能够自动化生成这三层的代码,极大地提高了...
5. **iBatis-dao-2.jar**:iBatis(在本例中可能是iBATIS DAO的特定版本)是另一种ORM框架,不同于Hibernate,它更强调SQL的灵活性。iBatis允许开发者编写自定义的SQL,将SQL语句直接嵌入XML配置文件或Java代码中,...
这个"ibatis SQL映射文件、DAO、model自动生成工具"的源码,旨在简化开发过程,通过自动化生成基本的Ibatis相关代码,提高开发效率。 首先,SQL映射文件(Mapper XML)是Ibatis的核心部分,它定义了数据库操作的SQL...