private static void addDownloadLabel(Schema schema) { Entity entity = schema.addEntity("DownloadLabel"); entity.setTableName("DOWNLOAD_LABELS"); entity.setClassNameDao("DownloadLabelDao"); entity.addIdProperty(); entity.addStringProperty("label"); entity.addLongProperty("time").notNull(); }
public static void main(String[] args) throws Exception { int version = 1; String defaultJavaPackage = "com.oushangfeng.ounews.greendao"; Schema schema = new Schema(version, defaultJavaPackage); addTable(schema); // /表示根目录, ./表示当前路径, ../表示上一级父目录 new DaoGenerator().generateAll(schema, "./app/src/main/java-gen"); }
public static void main(String args[]) { System.out.println("Working Directory = " + System.getProperty("user.dir")); Schema schema = new Schema(1, "tw.fatminmin.xposed.minminguard.orm"); Entity appData = schema.addEntity("AppData"); appData.addStringProperty("pkgName").primaryKey(); appData.addStringProperty("adNetworks"); appData.addIntProperty("blockNum"); try { DaoGenerator daoGenerator = new DaoGenerator(); daoGenerator.generateAll(schema, "../app/src/main/java"); } catch (IOException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } }
@Test public void testMinimalSchema() throws Exception { Schema schema = new Schema(1, "de.greenrobot.testdao"); Entity adressTable = schema.addEntity("Adresse"); Property idProperty = adressTable.addIdProperty().getProperty(); adressTable.addIntProperty("count").index(); adressTable.addIntProperty("dummy").notNull(); assertEquals(1, schema.getEntities().size()); assertEquals(3, adressTable.getProperties().size()); File daoFile = new File("test-out/de/greenrobot/testdao/" + adressTable.getClassName() + "Dao.java"); daoFile.delete(); assertFalse(daoFile.exists()); new DaoGenerator().generateAll(schema, "test-out"); assertEquals("PRIMARY KEY", idProperty.getConstraints()); assertTrue(daoFile.toString(), daoFile.exists()); }
public static void main(String[] args) throws Exception { Schema schema = new Schema(DB_VERSION, "org.zarroboogs.weibo.greendao.bean"); schema.setDefaultJavaPackageDao("org.zarroboogs.weibo.greendao.dao"); addAccountTable(schema); addAtUsersTable(schema); addStatusTable(schema); new DaoGenerator().generateAll(schema, "app/src/main/java-greendao-gen"); }
schema.init2ndPass(); schema.init3ndPass(); System.out.println("Processing schema version " + schema.getVersion() + "..."); List<Entity> entities = schema.getEntities(); for (Entity entity : entities) { generate(templateDao, outDirFile, entity.getJavaPackageDao(), entity.getClassNameDao(), schema, entity); generate(templateDaoMaster, outDirFile, schema.getDefaultJavaPackageDao(), "DaoMaster", schema, null); generate(templateDaoSession, outDirFile, schema.getDefaultJavaPackageDao(), "DaoSession", schema, null);
File outDirTestFile = outDirTest != null ? toFileForceExists(outDirTest) : null; schema.init2ndPass(); schema.init3rdPass(); System.out.println("Processing schema version " + schema.getVersion() + "..."); List<Entity> entities = schema.getEntities(); for (Entity entity : entities) { generate(templateDao, outDirFile, entity.getJavaPackageDao(), entity.getClassNameDao(), schema, entity); generate(templateDaoMaster, outDirFile, schema.getDefaultJavaPackageDao(), "DaoMaster", schema, null); generate(templateDaoSession, outDirFile, schema.getDefaultJavaPackageDao(), "DaoSession", schema, null);
protected void init2ndPassNamesWithDefaults() { if (tableName == null) { tableName = DaoUtil.dbName(className); } if (classNameDao == null) { classNameDao = className + "Dao"; } if (classNameTest == null) { classNameTest = className + "Test"; } if (javaPackage == null) { javaPackage = schema.getDefaultJavaPackage(); } if (javaPackageDao == null) { javaPackageDao = schema.getDefaultJavaPackageDao(); if (javaPackageDao == null) { javaPackageDao = javaPackage; } } if (javaPackageTest == null) { javaPackageTest = schema.getDefaultJavaPackageTest(); if (javaPackageTest == null) { javaPackageTest = javaPackage; } } }
public void init2ndPass() { if (authority == null) { authority = schema.getDefaultJavaPackage() + ".provider"; } if (basePath == null) { basePath = ""; } if (className == null) { className = "EntityContentProvider"; } if (javaPackage == null) { javaPackage = schema.getDefaultJavaPackage(); } }
public static void main(String[] args) throws Exception { // 正如你所见的,你创建了一个用于添加实体(Entity)的模式(Schema)对象。 // 两个参数分别代表:数据库版本号与自动生成代码的包路径。 Schema schema = new Schema(1, "org.zarroboogs.maps.beans"); schema.setDefaultJavaPackageDao("org.zarroboogs.maps.dao"); //当然,如果你愿意,你也可以分别指定生成的 Bean 与 DAO 类所在的目录,只要如下所示: //Schema schema = new Schema(1, "me.itangqi.bean"); //schema.setDefaultJavaPackageDao("me.itangqi.dao"); // 模式(Schema)同时也拥有两个默认的 flags,分别用来标示 entity 是否是 activie 以及是否使用 keep sections。 // schema2.enableActiveEntitiesByDefault(); // schema2.enableKeepSectionsByDefault(); // 一旦你拥有了一个 Schema 对象后,你便可以使用它添加实体(Entities)了。 addCameraTable(schema); addPoiSearchTipTable(schema); // 最后我们将使用 DAOGenerator 类的 generateAll() 方法自动生成代码,此处你需要根据自己的情况更改输出目录(既之前创建的 java-gen)。 // 其实,输出目录的路径可以在 build.gradle 中设置,有兴趣的朋友可以自行搜索,这里就不再详解。 new DaoGenerator().generateAll(schema, "app/src/main/java-gen"); }
protected void init2nPassNamesWithDefaults() { if (tableName == null) { tableName = DaoUtil.dbName(className); } if (classNameDao == null) { classNameDao = className + "Dao"; } if (classNameTest == null) { classNameTest = className + "Test"; } if (javaPackage == null) { javaPackage = schema.getDefaultJavaPackage(); } if (javaPackageDao == null) { javaPackageDao = schema.getDefaultJavaPackageDao(); if (javaPackageDao == null) { javaPackageDao = javaPackage; } } if (javaPackageTest == null) { javaPackageTest = schema.getDefaultJavaPackageTest(); if (javaPackageTest == null) { javaPackageTest = javaPackage; } } }
public void init2ndPass() { if (authority == null) { authority = schema.getDefaultJavaPackage() + ".provider"; } if (basePath == null) { basePath = ""; } if (className == null) { className = entities.get(0).getClassName() + "ContentProvider"; } if (javaPackage == null) { javaPackage = schema.getDefaultJavaPackage(); } }
private static void addDownloadDirname(Schema schema) { Entity entity = schema.addEntity("DownloadDirname"); entity.setTableName("DOWNLOAD_DIRNAME"); entity.setClassNameDao("DownloadDirnameDao"); entity.addLongProperty("gid").primaryKey().notNull(); entity.addStringProperty("dirname"); }
public static void main(String[] args) throws Exception { int version = 1; String defaultJavaPackage = "com.kaku.colorfulnews.greendao"; // 正如你所见的,你创建了一个用于添加实体(Entity)的模式(Schema)对象。 // 两个参数分别代表:数据库版本号与自动生成代码的包路径。 Schema schema = new Schema(version, defaultJavaPackage); // 当然,如果你愿意,你也可以分别指定生成的 Bean 与 DAO 类所在的目录,只要如下所示: // Schema schema = new Schema(1, "me.itangqi.bean"); // schema.setDefaultJavaPackageDao("me.itangqi.dao"); // 模式(Schema)同时也拥有两个默认的 flags,分别用来标示 entity 是否是 activie 以及是否使用 keep sections。 // schema2.enableActiveEntitiesByDefault(); // schema2.enableKeepSectionsByDefault(); // 一旦你拥有了一个 Schema 对象后,你便可以使用它添加实体(Entities)了。 createTable(schema); // 最后我们将使用 DAOGenerator 类的 generateAll() 方法自动生成代码,此处你需要根据自己的情况更改输出目录(既之前创建的 java-gen)。 // 其实,输出目录的路径可以在 build.gradle 中设置,有兴趣的朋友可以自行搜索,这里就不再详解。 // /表示根目录, ./表示当前路径, ../表示上一级父目录 new DaoGenerator().generateAll(schema, "./app/src/main/java-gen"); }
private static void addFilter(Schema schema) { Entity entity = schema.addEntity("Filter"); entity.setTableName("FILTER"); entity.setClassNameDao("FilterDao"); entity.addIdProperty(); entity.addIntProperty("mode").notNull(); entity.addStringProperty("text"); entity.addBooleanProperty("enable"); }
public static void generate() throws Exception { Utilities.deleteContents(new File(DELETE_DIR)); File outDir = new File(OUT_DIR); outDir.delete(); outDir.mkdirs(); Schema schema = new Schema(VERSION, PACKAGE); addDownloads(schema); addDownloadLabel(schema); addDownloadDirname(schema); addHistoryInfo(schema); addQuickSearch(schema); addLocalFavorites(schema); addBookmarks(schema); addFilter(schema); new DaoGenerator().generateAll(schema, OUT_DIR); adjustDownloadInfo(); adjustHistoryInfo(); adjustQuickSearch(); adjustLocalFavoriteInfo(); adjustBookmarkInfo(); adjustFilter(); }
private static void addQuickSearch(Schema schema) { Entity entity = schema.addEntity("QuickSearch"); entity.setTableName("QUICK_SEARCH"); entity.setClassNameDao("QuickSearchDao"); entity.addIdProperty(); entity.addStringProperty("name"); entity.addIntProperty("mode").notNull(); entity.addIntProperty("category").notNull(); entity.addStringProperty("keyword"); entity.addIntProperty("advanceSearch").notNull(); entity.addIntProperty("minRating").notNull(); entity.addLongProperty("time").notNull(); }
public static void main(String[] args) throws Exception { Schema schema = new Schema(VERSION, "la.xiong.androidquick.demo.db"); File f = new File(GREEN_DAO_CODE_PATH); if (!f.exists()) { f.mkdirs(); } addUser(schema); new DaoGenerator().generateAll(schema, f.getAbsolutePath()); } private static void addUser(Schema schema){
private static void addTable(Schema schema) { Entity note = schema.addEntity("NewsChannelTable"); // note.addIdProperty(); /** * 频道名称 */ note.addStringProperty("newsChannelName").notNull().primaryKey().index(); /** * 频道id */ note.addStringProperty("newsChannelId").notNull(); /** * 频道类型 */ note.addStringProperty("newsChannelType").notNull(); /** * 选中的频道 */ note.addBooleanProperty("newsChannelSelect").notNull(); /** * 频道的排序位置 */ note.addIntProperty("newsChannelIndex").notNull(); /** * 频道是否是固定的 */ note.addBooleanProperty("newsChannelFixed"); }
public static void main(String[] args) throws Exception { Schema schema = new Schema(mVersion, mPackageName);// 指定数据库版本号和生成的包名 generateProductEntity(schema); path = System.getProperty("user.dir") + File.separator + "app" + File.separator + "src" + File.separator + "main" + File.separator + "java"; new DaoGenerator().generateAll(schema, path); }