org.springside.core.dao
类 IBatisGenericDao

java.lang.Object
  继承者 SqlMapClientDaoSupport
      继承者 org.springside.core.dao.IBatisGenericDao
直接已知子类:
IBatisEntityDao

public class IBatisGenericDao
extends SqlMapClientDaoSupport

IBatis Dao的泛型基类.

继承于Spring的SqlMapClientDaoSupport,提供分页函数和若干便捷查询方法,并对返回值作了泛型类型转换.

作者:
suwei
另请参见:
SqlMapClientDaoSupport

字段摘要
static java.lang.String POSTFIX_COUNT
           
static java.lang.String POSTFIX_DELETE
           
static java.lang.String POSTFIX_DELETE_PRIAMARYKEY
           
static java.lang.String POSTFIX_INSERT
           
static java.lang.String POSTFIX_SELECT
           
static java.lang.String POSTFIX_SELECTMAP
           
static java.lang.String POSTFIX_SELECTSQL
           
static java.lang.String POSTFIX_UPDATE
           
 
构造函数摘要
IBatisGenericDao()
           
 
方法摘要
<T> java.util.List<T>
find(java.lang.Class<T> entityClass, java.util.Map map)
          map查询.
<T> java.util.List<T>
find(java.lang.Class<T> entityClass, java.lang.String sql)
          sql 查询.
<T> java.util.List<T>
findBy(java.lang.Class<T> entityClass, java.lang.String name, java.lang.Object value)
          根据属性名和属性值查询对象.
<T> java.util.List<T>
findByLike(java.lang.Class<T> entityClass, java.lang.String name, java.lang.String value)
          根据属性名和属性值以Like AnyWhere方式查询对象.
<T> T
findUniqueBy(java.lang.Class<T> entityClass, java.lang.String name, java.lang.Object value)
          根据属性名和属性值查询对象.
<T> T
get(java.lang.Class<T> entityClass, java.io.Serializable id)
          根据ID获取对象
<T> java.util.List<T>
getAll(java.lang.Class<T> entityClass)
          获取全部对象
 void insert(java.lang.Object o)
          新增对象
 boolean isNotUnique(java.lang.Object entity, java.lang.String tableName, java.lang.String names)
          判断对象某些属性的值在数据库中不存在重复
 Page pagedQuery(java.lang.Class entityClass, java.lang.Object parameterObject, int pageNo, int pageSize)
          分页查询函数,使用PaginatedList.
 void remove(java.lang.Object o)
          删除对象
<T> void
removeById(java.lang.Class<T> entityClass, java.io.Serializable id)
          根据ID删除对象
 void update(java.lang.Object o)
          保存对象
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

POSTFIX_INSERT

public static final java.lang.String POSTFIX_INSERT
另请参见:
常量字段值

POSTFIX_UPDATE

public static final java.lang.String POSTFIX_UPDATE
另请参见:
常量字段值

POSTFIX_DELETE

public static final java.lang.String POSTFIX_DELETE
另请参见:
常量字段值

POSTFIX_DELETE_PRIAMARYKEY

public static final java.lang.String POSTFIX_DELETE_PRIAMARYKEY
另请参见:
常量字段值

POSTFIX_SELECT

public static final java.lang.String POSTFIX_SELECT
另请参见:
常量字段值

POSTFIX_SELECTMAP

public static final java.lang.String POSTFIX_SELECTMAP
另请参见:
常量字段值

POSTFIX_SELECTSQL

public static final java.lang.String POSTFIX_SELECTSQL
另请参见:
常量字段值

POSTFIX_COUNT

public static final java.lang.String POSTFIX_COUNT
另请参见:
常量字段值
构造函数详细信息

IBatisGenericDao

public IBatisGenericDao()
方法详细信息

get

public <T> T get(java.lang.Class<T> entityClass,
                 java.io.Serializable id)
根据ID获取对象


getAll

public <T> java.util.List<T> getAll(java.lang.Class<T> entityClass)
获取全部对象


insert

public void insert(java.lang.Object o)
新增对象


update

public void update(java.lang.Object o)
保存对象


remove

public void remove(java.lang.Object o)
删除对象


removeById

public <T> void removeById(java.lang.Class<T> entityClass,
                           java.io.Serializable id)
根据ID删除对象


find

public <T> java.util.List<T> find(java.lang.Class<T> entityClass,
                                  java.util.Map map)
map查询.

参数:
map - 包含各种属性的查询

find

public <T> java.util.List<T> find(java.lang.Class<T> entityClass,
                                  java.lang.String sql)
sql 查询.

参数:
sql - 直接sql的语句(需要防止注入式攻击)

findBy

public <T> java.util.List<T> findBy(java.lang.Class<T> entityClass,
                                    java.lang.String name,
                                    java.lang.Object value)
根据属性名和属性值查询对象.

返回:
符合条件的对象列表

findUniqueBy

public <T> T findUniqueBy(java.lang.Class<T> entityClass,
                          java.lang.String name,
                          java.lang.Object value)
根据属性名和属性值查询对象.

返回:
符合条件的唯一对象

findByLike

public <T> java.util.List<T> findByLike(java.lang.Class<T> entityClass,
                                        java.lang.String name,
                                        java.lang.String value)
根据属性名和属性值以Like AnyWhere方式查询对象.


isNotUnique

public boolean isNotUnique(java.lang.Object entity,
                           java.lang.String tableName,
                           java.lang.String names)
判断对象某些属性的值在数据库中不存在重复

参数:
tableName - 数据表名字
names - 在POJO里不能重复的属性列表,以逗号分割 如"name,loginid,password" FIXME how about in different schema?

pagedQuery

public Page pagedQuery(java.lang.Class entityClass,
                       java.lang.Object parameterObject,
                       int pageNo,
                       int pageSize)
分页查询函数,使用PaginatedList.

参数:
pageNo - 页号,从0开始.