GreenDao is an ORM library that provides high performance for CRUD operations on SQLite databases in Android apps. It uses code generation to map objects to database tables, allowing data to be accessed and queried using objects rather than raw SQL. Some key features include object mapping, query building, caching, and bulk operations. The documentation provides examples of how to set up GreenDao in a project, define entity classes, perform queries, inserts, updates and deletes on objects.
3. Why GreenDao
• First . Some problem with DB Development.
– No object orientation.
– Data access sentence is low levely.
– Always make same code to write SQL script.
– Do you know SQL without 『||』.
– I am stupid on SQL tuning
• Second , it is faster than other ORM Lib.
9. A example for presentation
• Implement a social data collector
• “Leftpage” as table name for database
“leftpageProvider.db”
• Every row data as “CommonData”
• Column has
– ”DataID” as primary key
– “Category”
– “Provider”
– “DisplayOrder”
10. Expressing Queries: What difference
• SQL Query all
– Cursor c =
mContext.getContentResolver().query(uriLPagePr
ovider , projection , selection, selection args, sort
order ) ;
• GreenDao Load all
List<commonData> datas =
CommonDataDao.loadAll();
11. Sqlite review
• SQL Query
– Provider equal facebook
– Order by display order
– Limit data count100
• Cursor c = getContentResolver() . query
(uriLPageProvider , projection , selection,
selection args, sort order ) ;
(String ) selection :
StorageField.Provider. + "=?" =
(String[])selection args: {“facebook”}
12. Sort order
• SQL Query
– Provider equal facebook
– Order by display order
– Limit data count100
• Cursor c = getContentResolver() . query
(uriLPageProvider , projection , selection,
selection args, sort order ) ;
(String ) Sort order: StorageField.Displayorder
13. More detail
• SQL Query
– Provider equal facebook
– Order by display order
– Limit data count100
• Cursor c = getContentResolver() . query
(uriLPageProvider , projection , selection,
selection args, sort order ) ;
(String ) Sort order:
“ ASC ” + StorageField.Displayorder
+ “ LIMIT ” + request
14. If you are sqlite master
• SQL Query
– Provider equal facebook
– Order by display order
– Limit data count100
• Select * from leftpage where Provider =
‘facebook’ order asc ‘displayorder’ limit
‘100’
• Then you also load cusor and save to data
list
15. But in GreenDao
• SQL Query
– Provider equal facebook
– Order by display order
– Limit data count100
mCommonDataDao.queryBuilder()
.where(Properties.Provider.eq(Provider.Facebook))
.orderAsc(Properties.DisplayOrder)
.limit(100)
.list();