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数据库的结果:
讲到这里就完啦,聪明的你学会的吗,举一反三试试!!!