package com.homeway.dao; import java.io.IOException; import java.util.List; import de.greenrobot.daogenerator.DaoGenerator; import de.greenrobot.daogenerator.Entity; import de.greenrobot.daogenerator.Property; import de.greenrobot.daogenerator.Schema; import de.greenrobot.daogenerator.ToMany; import de.greenrobot.daogenerator.ToOne; public class TestDemoGenerator { static final String DB_NAME = "testDemo"; static final int DB_VERSION = 1; static final String DB_PACKAGE = "com.homeway.database.gen"; static final String DB_OUT_PATH = "../StudyDemo/src-gen"; public static Property findProperty(Entity entity, String name) { List<Property> properties = entity.getProperties(); for (Property property : properties) { if (property.getPropertyName().equals(name)) { return property; } } return null; } // 创建产品类 private static Entity genProduct(Schema schema) { Entity product = schema.addEntity("Product"); // 序列化 product.implementsSerializable(); // 设置表名 product.setTableName("Product"); // 列: ID, 自增 product.addIdProperty().autoincrement(); // 列: 产品名称, 非空 product.addStringProperty("name").columnName("prd_name").notNull(); product.addStringProperty("code").columnName("prd_code").notNull().unique(); product.addDoubleProperty("price"); product.addDateProperty("prdDate"); return product; } // 创建类别类 private static Entity genCategory(Schema schema) { Entity category = schema.addEntity("Category"); category.implementsSerializable(); category.addIdProperty().autoincrement(); category.addStringProperty("name").columnName("ctg_name").notNull(); return category; } // 生成数据库表 public static void genDataBase() throws IOException, Exception{ Schema schema = new Schema(DB_VERSION, DB_PACKAGE); schema.enableKeepSectionsByDefault(); schema.enableActiveEntitiesByDefault(); Entity product = genProduct(schema); Entity category = genCategory(schema); // 创建表间关系 // 产品 - 类别: 一对一 Property fkPrdCate = product.addLongProperty("categoryId").notNull().getProperty(); ToOne prd2cate = product.addToOne(category, fkPrdCate); prd2cate.setName("category"); // 类别 - 产品: 一对多 ToMany cate2prd = category.addToMany(product, fkPrdCate); cate2prd.setName("products"); cate2prd.orderAsc(findProperty(product, "prdDate")); cate2prd.orderDesc(findProperty(product, "price")); new DaoGenerator().generateAll(schema, DB_OUT_PATH); } public static void main(String[] args) { try { genDataBase(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
相关推荐
这个“android的GreenDao使用demo”是为初学者准备的一个实例,旨在帮助理解并快速上手GreenDao的使用。 一、GreenDao简介 GreenDao是一款高效且易于使用的Java库,它允许开发者直接在Android应用中通过对象与...
**Android GreenDao使用教程** GreenDao是一款专门为Android平台设计的高效、轻量级的对象关系映射(ORM)框架,它允许开发者将数据模型类与SQLite数据库进行映射,从而简化了数据库操作。在这个教程中,我们将深入...
这个“Android greenDAO使用demo”是专门为展示如何在Android项目中集成并使用greenDAO而设计的。 首先,我们要理解greenDAO的核心概念。greenDAO是一种轻量级的库,它通过自动生成与SQLite数据库交互的Java对象...
**Android GreenDao使用Demo** GreenDao是一款专门为Android平台设计的高效、轻量级的对象关系映射(ORM)框架,它允许开发者将数据模型类与SQLite数据库进行映射,从而简化了数据库操作。在这个Demo中,我们将深入...
**Android GreenDao 使用详解** GreenDao 是一个针对 Android 平台的高性能 ORM(对象关系映射)库,它使得在 Android 应用中操作 SQLite 数据库变得更加简单。通过使用 GreenDao,开发者可以将 Java 对象直接映射...
GreenDAO使用中所需要的jar包,包括greendao-generator-2.0.0.jar,freemarker-2.3.23.jar和greendao-2.0.0.jar。前两个用于Java项目,后一个用于android项目。
**GreenDao使用详解** GreenDao是一款专门为Android平台设计的高效、轻量级的对象关系映射(ORM)框架,它使得开发者能够便捷地在SQLite数据库上操作数据,无需编写大量的SQL语句。GreenDao通过将Java对象与数据库...
在这个“greenDAO使用demo”中,我们将深入探讨如何在Android应用中集成并使用greenDAO。 首先,我们要了解**对象关系映射(ORM)**的概念,它是连接数据库和编程语言的一种技术,使得开发者可以像操作对象一样操作...
要在项目中使用GreenDao,首先需要在`build.gradle`文件中添加依赖。目前的版本可能需要在Gradle repositories中添加JitPack仓库,并在dependencies块中引入GreenDao库。 2. **实体类(Entity)**: 在GreenDao中...
greendao调研结果,greendao使用说明,对初学greendao有帮助
在这个"GreenDao使用Demo"中,虽然代码可能较为混乱,但展示了如何在实际项目中结合RxJava来运用GreenDao的主要功能。 1. **安装与配置**: - 首先,你需要在项目级`build.gradle`文件中添加GreenDao的依赖,通常...
在本文中,我们将深入探讨GreenDao的几个核心功能,包括模型生成、数据的增删改查、自定义数据库存储路径、数据库的更新升级以及加解密数据库,帮助开发者更高效地使用这一工具。 1. **模型生成**: 在使用...
**GreenDao的使用方法** GreenDao是一款专门为Android平台设计的高效、轻量级的对象关系映射(ORM)框架,它允许开发者将Java对象直接映射到SQLite数据库中,极大地简化了Android应用的数据存储操作。本篇文章将...
GreenDao的官方example中进行操作需要新建一个session,然而不知道如何释放这个session是件很头痛的事情,所以使用单例模式,来保存这个session以便重复使用是极好的,资源是对官方example的一个改进。
一个基于GreenDAO的Android使用例子,对GreenDAO进行工具类封装,使之快速使用。 可Clone之后查看使用,方便二次开发。 About Me YaphetZhao Email:yaphetzhao@gmail.com Email_CN:yaphetzhao@foxmail.com GitHub:...
在本文中,我们将深入探讨如何在Android应用中使用GreenDao进行数据管理和查询。 首先,让我们来看一个基本的查询示例。在下面的代码中,我们查询名称为“一”的所有`Student`对象: ```java public List<Student>...
本教程将深入讲解GreenDao 3.1的使用,帮助小白也能快速上手。 一、GreenDao简介 GreenDao是一个轻量级的数据库框架,它的核心思想是通过代码生成技术,将Java对象与SQLite数据库表进行映射,避免了手动编写SQL语句...
在 Android 应用开发中,使用 GreenDAO 可以避免编写大量的 SQL 语句,提高开发效率。 在描述中提到的 "greendao所需jar" 指的是使用 GreenDAO 开发时所需的库文件,通常是一个或多个 JAR(Java Archive)文件。...