📄 ibatisdao.java
字号:
/*
* Created on 2005-4-16 Author 泰伯子仪
*
* Copyright (c) 2003-2005 by www.sanv.org
* All rights reserved.
*/
package org.sanv.framework.dao.ibatis;
import java.util.List;
import java.util.Map;
import org.sanv.framework.model.IIbatisModel;
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
public class IbatisDao extends SqlMapClientDaoSupport implements IIbatisDao
{
/*
* 以下9个函数是Dao的默认实现,一般情况下,你可以直接使用他们 public Object getObjectInfo(String ,
* Object ); public List getObjectList(String , Object ); public Object
* insertObject(String , Object ); public int insertObjectAndGetID(String ,
* Object ); public int updateObject(String , Object ); public int
* deleteObject(String , Object ); public boolean checkObjectExists(String ,
* Object ); public int getRecordCount(String , Object ); public List
* getPageObjectList(String , Object ,int , int );
*/
/**
* 根据conditionObjInfo对象中的条件,从数据库中取得对对象。
* 这是一个默认的实现,必须对应statementId为getObjectInfo
*/
public Object getObjectInfo(String sqlMapNameSpace, Object conditionObjInfo)
{
return getSqlMapClientTemplate().queryForObject(
sqlMapNameSpace + ".getObjectInfo", conditionObjInfo);
}
/**
* 根据conditionObjInfo对象中的条件,从数据库中取得多个对象。
* 这是一个默认的实现,必须对应statementId为getObjectList
*/
public List getObjectList(String sqlMapNameSpace, Object conditionObjInfo)
{
return getSqlMapClientTemplate().queryForList(
sqlMapNameSpace + ".getObjectList", conditionObjInfo);
}
/**
* 向数据库中插入一条记录,数据被封装在info对象中。 这是一个默认的实现,必须对应statementId为insertObject
*/
public Object insertObject(String sqlMapNameSpace, Object objInfo)
{
return getSqlMapClientTemplate().insert(
sqlMapNameSpace + ".insertObject", objInfo);
}
/**
* 向数据库中插入一条记录并返回刚插入的ID,数据被封装在info对象中。
* 这是一个默认的实现,必须对应statementId为insertObjectAndGetID
*/
public int insertObjectAndGetID(String sqlMapNameSpace, Object objInfo)
{
return ((Integer) getSqlMapClientTemplate().insert(
sqlMapNameSpace + ".insertObjectAndGetID", objInfo)).intValue();
}
/**
* 更新数据库中的记录 这是一个默认的实现,必须对应statementId为updateObject
*/
public int updateObject(String sqlMapNameSpace, Object objInfo)
{
return getSqlMapClientTemplate().update(
sqlMapNameSpace + ".updateObject", objInfo);
}
/**
* 删除数据库中的记录 这是一个默认的实现,必须对应statementId为deleteObject
*/
public int deleteObject(String sqlMapNameSpace, Object conditionObjInfo)
{
return getSqlMapClientTemplate().delete(
sqlMapNameSpace + ".deleteObject", conditionObjInfo);
}
/**
* 检查数据库中是否已经存在此记录,若存在返回true;否则,返回false。
* 这是一个默认的实现,必须对应statementId为checkObjectExists
*/
public boolean checkObjectExists(String sqlMapNameSpace,
Object conditionObjInfo)
{
int number = ((Integer) getSqlMapClientTemplate().queryForObject(
sqlMapNameSpace + ".checkObjectExists", conditionObjInfo))
.intValue();
return (number > 0) ? true : false;
}
/**
* getPageObjectList(String,Object,int,int);根据conditionObjInfo条件从数据库中取出从intStart开始起的intOffset条记录集
* 这是一个默认的实现,必须对应statementId为getObjectPageList,同时必须配合getRecordCount(String ,
* Object)使用
*
* getRecordCount(String , Object)实现从数据库中取得对象的个数也可独立使用。
* 这是一个默认的实现,必须对应statementId为getRecordCount
*/
public int getRecordCount(String sqlMapNameSpace, Object conditionObjInfo)
{
return ((Integer) getSqlMapClientTemplate().queryForObject(
sqlMapNameSpace + ".getRecordCount", conditionObjInfo))
.intValue();
}
public List getPageObjectList(String sqlMapNameSpace,
Object conditionObjInfo, int intStart, int intOffset)
{
if(conditionObjInfo instanceof IIbatisModel)
{
((IIbatisModel) conditionObjInfo).setIntStart(intStart);
((IIbatisModel) conditionObjInfo).setIntOffset(intOffset);
}
else if(conditionObjInfo instanceof Map)
{
((Map) conditionObjInfo).put("intStart", new Integer(intStart));
((Map) conditionObjInfo).put("intOffset", new Integer(intOffset));
}
return getSqlMapClientTemplate().queryForList(
sqlMapNameSpace + ".getPageObjectList", conditionObjInfo);
}
/*
* 以下9个函数是Dao提供的自定义实现,你可以使用你自己的statmentId完成不同的操作 public Object
* getObjectInfo(String , String , Object ); public List
* getObjectList(String , String , Object ); public Object
* insertObject(String , String , Object ); public int
* insertObjectAndGetID(String , String , Object ); public int
* updateObject(String , String , Object ); public int deleteObject(String ,
* String , Object ); public boolean checkObjectExists(String , String ,
* Object ); public int getRecordCount(String , String , Object ); public
* List getPageObjectList(String , String , Object ,int , int );
*/
/**
* 根据conditionObjInfo对象中的条件,从数据库中取得对对象。 这是一个自定义的实现,你可以使用你自己设定的statementId
*/
public Object getObjectInfo(String sqlMapNameSpace, String statementId,
Object conditionObjInfo)
{
return getSqlMapClientTemplate().queryForObject(
sqlMapNameSpace + "." + statementId, conditionObjInfo);
}
/**
* 根据conditionObjInfo对象中的条件,从数据库中取得多个对象。 这是一个自定义的实现,你可以使用你自己设定的statementId
*/
public List getObjectList(String sqlMapNameSpace, String statementId,
Object conditionObjInfo)
{
return getSqlMapClientTemplate().queryForList(
sqlMapNameSpace + "." + statementId, conditionObjInfo);
}
/**
* 向数据库中插入一条记录,数据被封装在info对象中。 这是一个自定义的实现,你可以使用你自己设定的statementId
*/
public Object insertObject(String sqlMapNameSpace, String statementId,
Object objInfo)
{
return getSqlMapClientTemplate().insert(
sqlMapNameSpace + "." + statementId, objInfo);
}
/**
* 向数据库中插入一条记录并返回刚插入的ID,数据被封装在info对象中。 这是一个自定义的实现,你可以使用你自己设定的statementId
*/
public int insertObjectAndGetID(String sqlMapNameSpace, String statementId,
Object objInfo)
{
return ((Integer) getSqlMapClientTemplate().insert(
sqlMapNameSpace + "." + statementId, objInfo)).intValue();
}
/**
* 更新数据库中的记录 这是一个自定义的实现,你可以使用你自己设定的statementId
*/
public int updateObject(String sqlMapNameSpace, String statementId,
Object objInfo)
{
return getSqlMapClientTemplate().update(
sqlMapNameSpace + "." + statementId, objInfo);
}
/**
* 删除数据库中的记录 这是一个自定义的实现,你可以使用你自己设定的statementId
*/
public int deleteObject(String sqlMapNameSpace, String statementId,
Object conditionObjInfo)
{
return getSqlMapClientTemplate().delete(
sqlMapNameSpace + "." + statementId, conditionObjInfo);
}
/**
* 检查数据库中是否已经存在此记录,若存在返回true;否则,返回false。 这是一个自定义的实现,你可以使用你自己设定的statementId
*/
public boolean checkObjectExists(String sqlMapNameSpace,
String statementId, Object conditionObjInfo)
{
int number = ((Integer) getSqlMapClientTemplate().queryForObject(
sqlMapNameSpace + "." + statementId, conditionObjInfo))
.intValue();
return (number > 0) ? true : false;
}
/**
* 根据conditionObjInfo对象中的条件,从数据库中取得对象的个数。 这是一个自定义的实现,你可以使用你自己设定的statementId
*/
/**
* getPageObjectList(String,Object,int,int);根据conditionObjInfo条件从数据库中取出从intStart开始起的intOffset条记录集
* 这是一个自定义的实现,你可以使用你自己设定的statementId,同时必须配合getRecordCount(String , String ,
* Object)使用
*
* getRecordCount(String , String , Object)实现从数据库中取得对象的个数也可独立使用。
* 这是一个自定义的实现,你可以使用你自己设定的statementId,
*/
public int getRecordCount(String sqlMapNameSpace, String statementId,
Object conditionObjInfo)
{
return ((Integer) getSqlMapClientTemplate().queryForObject(
sqlMapNameSpace + "." + statementId, conditionObjInfo))
.intValue();
}
public List getPageObjectList(String sqlMapNameSpace, String statementId,
Object conditionObjInfo, int intStart, int intOffset)
{
if(conditionObjInfo instanceof IIbatisModel)
{
((IIbatisModel) conditionObjInfo).setIntStart(intStart);
((IIbatisModel) conditionObjInfo).setIntOffset(intOffset);
}
else if(conditionObjInfo instanceof Map)
{
((Map) conditionObjInfo).put("intStart", new Integer(intStart));
((Map) conditionObjInfo).put("intOffset", new Integer(intOffset));
}
return getSqlMapClientTemplate().queryForList(
sqlMapNameSpace + "." + statementId, conditionObjInfo);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -