android数据库操作封装
EntityDao.java代码如下:
[java]
import java.io.Serializable;
import java.util.List;
/**
* 基本DAO接口
* @author EwinLive
*
* @param <T>
* @param <PK>
*/
public inte易做图ce EntityDao<T, PK extends Serializable> {
/**
* 添加
* @param entity
*/
void save(final T entity) throws Exception;
/**
* 移除记录(指定ID集)
* @param ids 可以有多个
*/
void remove(final PK... ids);
/**
* 更新
* @param entity
* @throws Exception
*/
void upDate(final T entity) throws Exception;
/**
* 按ID查询对象
* @param id
* @return
*/
T find(final PK id);
/**
* 分页查询
* @param startResult 开始位置
* @param maxResult 记录容量
* @return
* @throws Exception
*/
List<T> getScroolData(Integer startResult, Integer maxResult);
/**
* 返回记录总数
* @return
*/
public Long getCount();
}
import java.io.Serializable;
import java.util.List;
/**
* 基本DAO接口
* @author EwinLive
*
* @param <T>
* @param <PK>
*/
public inte易做图ce EntityDao<T, PK extends Serializable> {
/**
* 添加
* @param entity
*/
void save(final T entity) throws Exception;
/**
* 移除记录(指定ID集)
* @param ids 可以有多个
*/
void remove(final PK... ids);
/**
* 更新
* @param entity
* @throws Exception
*/
void upDate(final T entity) throws Exception;
/**
* 按ID查询对象
* @param id
* @return
*/
T find(final PK id);
/**
* 分页查询
* @param startResult 开始位置
* @param maxResult 记录容量
* @return
* @throws Exception
*/
List<T> getScroolData(Integer startResult, Integer maxResult);
/**
* 返回记录总数
* @return
*/
public Long getCount();
}
SimpleDao.java代码如下:
[java]
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import org.dw.core.utils.BeanTools;
import org.dw.ivb.utils.DataBaseHelper;
import android.content.Context;
import android.database.Cursor;
/**
* 实现了EntityDao接口,其他实体DAO只要继承它即可拥有所有强大功能。
* @author EwinLive
*
* @param <T>
* @param <PK>
*/
public abstract class SimpleDao<T, PK extends Serializable> implements EntityDao<T, PK> {
/**
* 实体的类型
*/
protected Class<T> entityClass;
/**
* 表名
*/
protected String tableName;
/**
* 数据库管理器
*/
protected DataBaseHelper dbHelper;
/**
* 保存实体所要执行的SQL语句
* 只在创建对象时初始化。
*/
protected String saveSql;
/**
* 更新实体所要执行的SQL语句
* 只在创建对象时初始化。
*/
protected String updateSql;
/**
* 字段在数据表中所对应的列的索引
* 只在创建对象时初始化。
*/
protected int[] fieldPostion;
public String getTableName() {
return tableName;
}
public void setTableName(String tableName) {
this.tableName = tableName;
}
public DataBaseHelper getDbHelper() {
return dbHelper;
}
public void setDbHelper(DataBaseHelper dbHelper) {
this.dbHelper = dbHelper;
}
public String getSaveSql() {
return saveSql;
}
public void setSaveSql(String saveSql) {
this.saveSql = saveSql;
}
public String getUpdateSql() {
return updateSql;
}
public void setUpdateSql(String updateSql) {
this.updateSql = updateSql;
}
/**
* 专属构造器
* 可通过子类的范型定义取得对象类型Class.
* @param tableName 实体对应的表名
* @param context 设备上下文,通常是一个Activity对象
*/
@SuppressWarnings("unchecked")
public SimpleDao(String tableName, Context context) {
this.entityClass = (Class<T>) BeanTools.getGenericClass(getClass());
&nbs
补充:移动开发 , Android ,