博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
greendao操作数据库的使用方法
阅读量:5082 次
发布时间:2019-06-13

本文共 2430 字,大约阅读时间需要 8 分钟。

第一步把greendao-1.3.0-beta-1,greendao-generator-1.3.1两个jar包加载到工程的lib的文件夹中,一定要右键点击Add As Library后才能使用。

第二步新建一个Java Library Module

第三步:

在此文件中加上compile 'de.greenrobot:greendao-generator:1.3.1',然后点击右上角的Sync Now

第四步在新建的Java Library Module中的Java类中写上数据库表的字段名及属性,代码如下:

1 public class MyClass { 2     public static void main(String[] args){ 3         //创建集合(name) 4         Schema schema = new Schema(1,"xxxxxx");   5         //创建表 6         Entity dishesTable = schema.addEntity("Dish"); 7         //dishesTable.addIdProperty().primaryKey().autoincrement(); 8         dishesTable.addLongProperty("dishID").primaryKey(); 9         dishesTable.addStringProperty("dishName");10         dishesTable.addIntProperty("dishState");14 15         Entity Table = schema.addEntity("Tableinfo");16         Table.addStringProperty("tableID");17         Table.addIntProperty("peopleNum");18         Table.addIntProperty("tableState");1922         //使用引擎生成dao代码23         //使用全路径24         try {25             new DaoGenerator().generateAll(schema,"xxxxxxxx");26         }catch (Exception e){27             e.printStackTrace();28         }29     }30 }

代码中的第六行和第十五行的“Dish”和“Tableinfo”是两个文件名,第四行第二个参数是“Dish”和“Tableinfo”文件的完整包名,用"ssss"表示,第25行的第二个参数是"ssss"在Project格式下的路径,例如:"../MenuDemo/app/src/main/java"。

第五步右键运行第四步写的Java文件。

生成如下文件即可!!!

 第六步在程序的入口处即Application(自己建一个Java类继承application,名字为MainApp)中写如下代码:

1 // 获取数据实例,创建数据库2         SQLiteDatabase db = new DaoMaster.DevOpenHelper(getBaseContext(), "hall.db", null).getWritableDatabase();3 4         // 管理对象5         DaoMaster master = new DaoMaster(db);6         DaoSession session = master.newSession();7         _dishDao = session.getDishDao();8         _tableinfoDao = session.getTableinfoDao();

第2行的第二个参数是数据库的名字!!!

第七步在AndroidManifests文件中加上android:name=".MainApp"

完成以上七步就把greendao操作数据库的准备工作做好啦!!!!接下来就可以操作数据库啦!!!!

第八步在某个活动(Activity)中加上MainApp app = (MainApp) getApplication();切记!!!!不然就会出现如下错误

第九步写下如下代码

1         Dish dish =new Dish();2         dish.setDishID((long) 102);3         dish.setDishState(1);4         dish.setDishName("大卡");5         app.get_dishDao().insert(dish);6         Log.i(TAG, "onCreate: "+"插入成功!!!");7         List
dishes=app.get_dishDao().loadAll();8 Dish dishe=dishes.get(0);9 Log.i(TAG, "onCreate: "+dishe.toString());

第十步查看结果

控制台打印的结果:

SQLite数据库的结果:

讲到这里就完啦,聪明的你学会的吗,举一反三试试!!!

转载于:https://www.cnblogs.com/evolutionoflicorice/p/6210353.html

你可能感兴趣的文章
window.event在IE和Firefox的异同
查看>>
常见的js算法面试题收集,es6实现
查看>>
IO流写出到本地 D盘demoIO.txt 文本中
查看>>
Windows10 下Apache服务器搭建
查看>>
HDU 5458 Stability
查看>>
左手坐标系和右手坐标系
查看>>
solr后台操作Documents之增删改查
查看>>
http://yusi123.com/
查看>>
文件文本的操作
查看>>
Ubuntu linux下gcc版本切换
查看>>
记一次Web服务的性能调优
查看>>
jQuery.form.js使用
查看>>
(转)linux sort,uniq,cut,wc命令详解
查看>>
关于ExecuteNonQuery执行的返回值(SQL语句、存储过程)
查看>>
UVa540 Team Queue(队列queue)
查看>>
mysql数据增删改查
查看>>
shell中下载最新版本或指定版本的办法(Dockerfile 中通用)
查看>>
极客时间-左耳听风-程序员攻略-分布式架构工程设计
查看>>
akka之种子节点
查看>>
不知道做什么时
查看>>