使用 greenDao 框架 操作数据库
生活随笔
收集整理的這篇文章主要介紹了
使用 greenDao 框架 操作数据库
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
0.效果圖
步驟:
1.新建java項目,生成實體類等代碼.需要的jar包: freemarker-2.3.10.jar , greendao-generator-1.3.1.jar
import java.io.IOException;import de.greenrobot.daogenerator.DaoGenerator; import de.greenrobot.daogenerator.Entity; import de.greenrobot.daogenerator.Schema;public class Test1 {public static void main(String[] args) throws IOException, Exception {//第一個參數用來更新數據庫版本號,第二個參數為要生成的DAO類所在包路徑Schema schema = new Schema(1, "de.bvb.db");//創建表 addNote(schema);//設置生成的文件文件存放的位置 new DaoGenerator().generateAll(schema, "./src");}private static void addNote(Schema schema) {Entity note = schema.addEntity("Student");//表名note.addIdProperty();//自增字段note.addStringProperty("name").notNull();note.addIntProperty("age");} }2.android項目代碼 (db包下面代碼為java項目生成的)
2.1 MyApplication中對數據庫進行初始化的代碼
private static DaoMaster daoMaster;private static DaoSession daoSession;//取得DaoMasterpublic static DaoMaster getDaoMaster(Context context) {if (daoMaster == null) {DaoMaster.OpenHelper helper = new DaoMaster.DevOpenHelper(instance, "dbName", null); //dbName 為數據庫名daoMaster = new DaoMaster(helper.getWritableDatabase());}return daoMaster;}//取得DaoSessionpublic static DaoSession getDaoSession() {if (daoSession == null) {if (daoMaster == null) {daoMaster = getDaoMaster(instance);}daoSession = daoMaster.newSession();}return daoSession;}2.2DBHelper代碼
package de.bvb.util;import java.util.List;import android.content.Context; import de.bvb.MyApplication; import de.bvb.db.DaoSession; import de.bvb.db.Student; import de.bvb.db.StudentDao; import de.greenrobot.dao.query.QueryBuilder;public class DBHelper {private static DBHelper instance;private StudentDao studentDao;private DBHelper() {}//單例public static DBHelper getInstance() {if (instance == null) {instance = new DBHelper();DaoSession daoSession = MyApplication.getDaoSession();instance.studentDao = daoSession.getStudentDao();}return instance;}public void add(Student student) {studentDao.insert(student);}public void update(Student student) {studentDao.update(student);}public void delete(Student student) {studentDao.delete(student);}public List<Student> query() {return studentDao.queryBuilder().list();} }3.調用的方法
@Overridepublic void onClick(View v) {Student student = new Student();switch (v.getId()) {case R.id.btnAdd:student.setName(etName.getText().toString().trim());student.setAge(Integer.parseInt(etAge.getText().toString().trim()));DBHelper.getInstance().add(student);break;case R.id.btnUpdate:student.setId(Long.parseLong(tvId.getText().toString().trim()));student.setName(etName.getText().toString().trim());student.setAge(Integer.parseInt(etAge.getText().toString().trim()));DBHelper.getInstance().update(student);break;case R.id.btnDelete:student.setId(Long.parseLong(tvId.getText().toString().trim()));student.setName(etName.getText().toString().trim());student.setAge(Integer.parseInt(etAge.getText().toString().trim()));DBHelper.getInstance().delete(student);break;case R.id.btnQuery:list = DBHelper.getInstance().query();adapter.setData(list);break;}}4.完整代碼(基于eclipse)
轉載于:https://www.cnblogs.com/Westfalen/p/6131905.html
總結
以上是生活随笔為你收集整理的使用 greenDao 框架 操作数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java多线程wait notify j
- 下一篇: 信息安全系统设计基础实验四:外设驱动程序