当前位置: 首页 > wzjs >正文

品牌建设网站爱站工具下载

品牌建设网站,爱站工具下载,义乌门户网站建设,南通网站建设团队介绍:greenDAO 是一款轻量级的 Android ORM 框架,将 Java 对象映射到 SQLite 数据库中,我们操作数据库的时候,不在需要编写复杂的 SQL语句, 在性能方面,greenDAO 针对 Android 进行了高度优化, …

介绍:

greenDAO 是一款轻量级的 Android ORM 框架,将 Java 对象映射到 SQLite 数据库中,我们操作数据库的时候,不在需要编写复杂的 SQL语句, 在性能方面,greenDAO 针对 Android 进行了高度优化, 最小的内存开销 、依赖体积小。适合存储大量的数据。

轻量级数据库是指,一种用于存储和管理小型数据集的数据库系统。它们可以在普通的个人电脑上运行,而不需要强大的服务器设备。它们通常只需要很少的内存和存储空间,因此最适合小型应用。轻量级数据库的例子包括SQLite、MongoDB和Appache Cassandra。

集成的步骤:

在APP下的gradle中,

 implementation 'org.greenrobot:greendao:3.3.0'  // greendao

greendao{schemaVersion 1 //版本号targetGenDir 'src/main/java'   //greenDao实体类包文件夹daoPackage 'com.example.teleprompter.greenDao'  //输出dao的数据库操作实体类文件夹(相对路径 包名+自定义路径名称,包将创建于包名的直接路径下)}

在集成的时候,我的项目级gradle是这样的:

在项目级别的gradle中,

classpath 'org.greenrobot:greendao-gradle-plugin:3.3.0'

发现在项目级的gradle和之前的格式不同。

plugins {id 'com.android.application' version '7.2.1' apply falseid 'com.android.library' version '7.2.1' apply false
}task clean(type: Delete) {delete rootProject.buildDir
}

看官网后知道,是2022年1月的Gradle7.1.0版本做的更新导致的,buildscript闭包可以放在plugins闭包前面,最后我的项目级gradle是这样的:

创建实体类

然后通过在实体类上加注解来达到生成对应的数据模型。

例如:

@Entity
public class TelePromterBean {@Id(autoincrement = true)private Long id;@Propertyprivate int number;//页面数量@Propertyprivate String name;//页面名字@Propertyprivate int fontSize;//字号//  get()/set()}

1. @Entity:标记一个实体类,声明一个表,一个实体类只能定义一张表,可以添加如下参数:(1)nameInDb:表名(2)indexes:定义索引,可以跨越多个列(3)createInDb:是否创建表(4)schema:定义架构名称(5)active:定义实体类有效性,默认为true

2. @Id:定义一列主键,可以添加如下参数:(1)nameInDb:定义列名(2)autoincrement:定义是否自增(3)generatedId:如果主键没有显示的赋值,则自动生成的

3. @Property:定义属性列,可以添加如下参数:(1)nameInDb:定义列名(2)not null:定义是否非空(3)unique:定义是否唯一(4)index:定义是否索引

4. @ToOne:定义一对一关系,可以添加如下参数:(1)nameInDb:定义列名(2)unique:定义是否唯一(3)not null:定义是否非空(4)index:定义是否索引

5. @ToMany:定义一对多关系,可以添加如下参数:(1)nameInDb:定义列名(2)unique:定义是否唯一(3)not null:定义是否非空(4)index:定义是否索引(5)orderBy:定义排序规则

实体类创建完成后,同步一下项目 然后就会生成如下:

增删改查


public class DBManger {private static final String TAG = "DBManger";private static final String dbName = "tele.db";private static DBManger mInstance;private final Context context;private DaoMaster.DevOpenHelper openHelper;public static DaoSession daoSession;public DBManger(Context context) {this.context = context;openHelper = new DaoMaster.DevOpenHelper(context, dbName, null);Database db = openHelper.getWritableDb();daoSession = new DaoMaster(db).newSession();}//单例public static DBManger getInstance(Context context) {if (mInstance == null) {synchronized (DBManger.class) {if (mInstance == null) {mInstance = new DBManger(context);}}}return mInstance;}//可读数据库private SQLiteDatabase getReadableDatabase() {if (openHelper == null) {openHelper = new DaoMaster.DevOpenHelper(context, dbName, null);}SQLiteDatabase db = openHelper.getReadableDatabase();return db;}//可写数据库private SQLiteDatabase getWritableDatabase() {if (openHelper == null) {openHelper = new DaoMaster.DevOpenHelper(context, dbName, null);}SQLiteDatabase db = openHelper.getWritableDatabase();return db;}//插入public void insert(TelePromterBean promterBean) {DaoMaster daoMaster = new DaoMaster(getWritableDatabase());DaoSession daoSession = daoMaster.newSession();TelePromterBeanDao dao = daoSession.getTelePromterBeanDao();dao.insert(promterBean);}//插入数据集合public void insertUserList(List<TelePromterBean> promterBeanList) {if (promterBeanList == null || promterBeanList.isEmpty()) {return;}DaoMaster daoMaster = new DaoMaster(getWritableDatabase());DaoSession daoSession = daoMaster.newSession();TelePromterBeanDao dao = daoSession.getTelePromterBeanDao();dao.insertInTx(promterBeanList);}//删除数据public void delete(TelePromterBean promterBean) {DaoMaster daoMaster = new DaoMaster(getWritableDatabase());DaoSession daoSession = daoMaster.newSession();TelePromterBeanDao dao = daoSession.getTelePromterBeanDao();dao.delete(promterBean);}//更改public void update(TelePromterBean promterBean) {Log.d(TAG, "update: " + promterBean);DaoMaster daoMaster = new DaoMaster(getWritableDatabase());DaoSession daoSession = daoMaster.newSession();TelePromterBeanDao dao = daoSession.getTelePromterBeanDao();dao.update(promterBean);}//查询public ArrayList<TelePromterBean> query() {DaoMaster daoMaster = new DaoMaster(getReadableDatabase());DaoSession daoSession = daoMaster.newSession();TelePromterBeanDao dao = daoSession.getTelePromterBeanDao();QueryBuilder<TelePromterBean> qb = dao.queryBuilder();ArrayList<TelePromterBean> list = (ArrayList<TelePromterBean>) qb.list();
//        for (int i = 0; i < list.size(); i++) {
//            list.get(i).setIsFlush(false);
//        }return list;}
}

在项目中使用:

TelePromterBean promterBean = new TelePromterBean(null, i, "", 20, "", false);DBManger.getInstance(MainActivity.this).insert(promterBean);DBManger.getInstance(MainActivity.this).delete(promterBean);DBManger.getInstance(MainActivity.this).update(promterBean);DBManger.getInstance(MainActivity.this).query();

http://www.dtcms.com/wzjs/129820.html

相关文章:

  • 杭州市规划建设委员会网站免费放单平台无需垫付
  • 网站模版 之星贴吧引流推广
  • 河南旅游网站建设营销网页设计公司
  • 开发定制电商平台网页优化包括什么
  • 学校网站建设发展规划品牌策略
  • 公司网站建设西安公司网站制作公司
  • 怎么撤销网站备案微博指数
  • 北京营销型网站建设培训seo关键词优化怎么收费
  • 学做网站培训官网seo优化
  • 怎么在自己做网站seo课程哪个好
  • 购物网站源码seo网站诊断
  • 公司如何登录网站做就业登记网站建设方案模板
  • 创建网站需要什么平台惠州企业网站seo
  • 任何用c语言做网站网页链接
  • 全屋定制十大名牌是哪些班级优化大师下载安装
  • wordpress电脑访问不了太原seo哪家好
  • 成都教育行业网站建设营销网站定制公司
  • 做网站免费模板怎么上传到空间游戏推广文案
  • 个人怎么做网站排名优化web成品网站源码免费
  • 网站建设文档360收录提交入口
  • 建设网站大概需要多少钱网络营销推广方案步骤
  • 用别人备案域名做违法网站云优客seo排名公司
  • 小生意是做网站还是公众号seo英文
  • 太原市做网站公司100个免费推广网站
  • 专业企业网站开发公司活动推广方式
  • wordpress 优秀插件石家庄seo公司
  • 网站开发模板免费下载中国seo第一人
  • 窍门天下什么人做的网站网络销售好不好做
  • 网站建设谈客户说什么网页搭建
  • 企业为什么校招seo主要做什么工作内容