内容发布更新时间 : 2024/11/15 15:31:53星期一 下面是文章的全部内容请认真阅读。
/**
* 实现功能 * 1.创建数据库 * 2.创建数据库的表 * 3.对数据库的升级 * 4.对数据库的增删查改 */
//TAG
public static final String TAG = DaoManager.class.getSimpleName(); //数据库名称
private static final String DB_NAME = \ //多线程访问
private volatile static DaoManager manager; //操作类
private static DaoMaster.DevOpenHelper helper; //上下文
private Context mContext; //核心类
private static DaoMaster daoMaster; private DaoSession daoSession;
//单例模式
public static DaoManager getInstance() { DaoManager instance = null; if (manager == null) {
synchronized (DaoManager.class) { if (instance == null) {
instance = new DaoManager(); manager = instance; } } }
return instance; }
//传递上下文
public void initManager(Context context){ this.mContext = context; }
/**
* 判断是否存在数据库,如果没有则创建 *
* @return */
public DaoMaster getDaoMaster() { if (daoMaster == null) {
helper = new DaoMaster.DevOpenHelper(mContext, DB_NAME, null); daoMaster = new DaoMaster(helper.getWritableDatabase()); }
return daoMaster; }
/**
* 完成对数据库的操作,只是个接口 *
* @return */
public DaoSession getDaoSession() { if (daoSession == null) { if (daoMaster == null) {
daoMaster = getDaoMaster(); }
daoSession = daoMaster.newSession(); }
return daoSession; }
/**
* 打开输出日志,默认关闭 */
public void setDebug() {
QueryBuilder.LOG_SQL = true; QueryBuilder.LOG_VALUES = true; }
/**
* 关闭DaoSession */
public void closeDaoSession() { if (daoSession != null) { daoSession.clear(); daoSession = null; } }
/**
* 关闭Helper */
public void closeHelper() { if (helper != null) { helper.close(); helper = null; } }
/**
* 关闭所有的操作 */
public void closeConnection() { closeHelper(); closeDaoSession(); } }
这个类能初始化数据库的很多操作,不过这样还不够,我们需要再写个实在点的操作类,现在只是单单实现一个插入的动作 package com.lgl.greendao;
import android.content.Context;
import com.student.entity.Student; /**
* 完成对某一张表的具体操作 * Created by LGL on 2016/7/2. */
public class CommonUtils {
private DaoManager daoManager;
//构造方法
public CommonUtils(Context context) {
daoManager = DaoManager.getInstance(); daoManager.initManager(context); }
/**
* 对数据库中student表的插入操作 * @param student * @return */
public boolean insertStudent(Student student) { boolean flag = false;
flag = daoManager.getDaoSession().insert(student) != -1 ? true : false; return flag; } }
五.插入
OK,那我们先去看看sql的插入是怎么做的,定义一个button