greendao操作数据库的使用方法

第一步把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");
19
22         //使用引擎生成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<Dish> dishes=app.get_dishDao().loadAll();
8         Dish dishe=dishes.get(0);
9         Log.i(TAG, "onCreate: "+dishe.toString());

第十步查看结果

控制台打印的结果:

SQLite数据库的结果:

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

posted on 2016-12-22 15:12  天凉才是好个秋  阅读(685)  评论(0编辑  收藏  举报

导航