当前位置:操作系统 > 安卓/Android >>

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 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,