OrmLite数据库的使用方法

第一步:导入架包

1、将orm的两个支持包放入project视图下的你的工程的lib目录里(这两个JAR包网上都有,GitHub上最新)

2、添加依赖:在file文件目录下的project structure里选择你的APP,选择depedence目录

点击加号选择第二个library depedence选择lib目录下点击选择添加依赖

3、导入JAR包成功后两个jar文件是可以点开的,这就表明添加成功

第二步:使用ormList创建数据库;

1、首先要生成一个存放你各种属性的一个属性类,在类的开始添加注解

表明这是一张表,名字叫做cardImg

然后每条属性都应添加注解,表明是表单中的每一列

到这里属性类就算完美的建成了,次数省略了每条属性的get与set方法以及有参和无参构造方法

2、然后就要创建数据库了,这里与基本的SQList数据库的创建方法也没有什么大样,这里只附上代码,大家自己领悟

public class DataBaseHelper extends OrmLiteSqliteOpenHelper {private static final String DB_NAME="biying.db";private static final int DB_VERSON=1;private DataBaseHelper(Context mContext){super(mContext,DB_NAME,null,DB_VERSON);    }/**     * 基本单例模式:     *  1、先把构造函数私有化*  2、对外提供一个静态方法*  3、在方法中判断如果已经存在就不再创建,如果不存在再创建*  这样保证永远只有一个DataBaseHelper对象*  4、为了线程安全,需要在方法前提供一个线程安全关键字synchronized     *  如果一个调用时,另一个就不允许调用*/private static DataBaseHelper dataBaseHelper;public synchronized static DataBaseHelper getInstance(Context mContext){if (dataBaseHelper == null) {dataBaseHelper = new DataBaseHelper(mContext);        }return dataBaseHelper;    }

@Overridepublic void onCreate(SQLiteDatabase sqLiteDatabase, ConnectionSource connectionSource) {//创建表try {//CardImgTableUtils.createTableIfNotExists(connectionSource, CardImg.class);

        } catch (SQLException e) {            e.printStackTrace();        }    }

@Overridepublic void onUpgrade(SQLiteDatabase sqLiteDatabase, ConnectionSource connectionSource, int i, int i1) {//删除表try {            TableUtils.dropTable(connectionSource,CardImg.class,true);        } catch (SQLException e) {            e.printStackTrace();        }    }

}

3、创建好属性类以及创建好了数据库之后,就要根据属性类来专门写一个针对于此属性类的一个数据库操作对象了,

大家一定要记住,在使用orm的时候最好就是一个表单对应一个数据库操作对象,这样方便操作也不会混淆,这里就只附上代码,大家自己领悟。

package com.jereh.biyingapplication.dao;

import android.content.Context;

import com.j256.ormlite.dao.Dao;import com.j256.ormlite.stmt.DeleteBuilder;import com.jereh.biyingapplication.db.DataBaseHelper;import com.jereh.biyingapplication.entity.CardImg;import com.jereh.biyingapplication.entity.Images;

import java.sql.SQLException;import java.util.List;

/** * Created by zhangdi on 2016/8/31. */public class CardImgDao {private Dao<CardImg,Integer> cardImgDao;public CardImgDao(Context mContext){        DataBaseHelper dataBaseHelper = DataBaseHelper.getInstance(mContext);try {cardImgDao = dataBaseHelper.getDao(CardImg.class);        } catch (SQLException e) {            e.printStackTrace();        }    }

/**     * 添加一条数据,一个对象* @param cardImg* @return*/public long addCardImg(CardImg cardImg){int id =0;try {            id = cardImgDao.create(cardImg);        } catch (SQLException e) {            e.printStackTrace();        }return id;    }

public void addAll(List<CardImg> images){for (CardImg img:images){            addCardImg(img);        }    }/**     * 查询表中所有属性* @return  表的集合*/public List<CardImg> findAll(){try {return cardImgDao.queryForAll();        } catch (SQLException e) {            e.printStackTrace();        }return null;    }/**     * 根据对象删除某条数据* @param cardImg*/public void delete(CardImg cardImg){        DeleteBuilder deleteBuilder = cardImgDao.deleteBuilder();try {            deleteBuilder.where().eq("img",cardImg.getImg());            deleteBuilder.delete();        } catch (SQLException e) {            e.printStackTrace();        }    }

/**     * 删除所有数据* @param images*/public void removeAll(List<CardImg> images){for (CardImg img:images){            delete(img);        }    }}

4、至此使用orm创建数据库的方法基本上算是圆满成功了,在实体类中需要调用的时候只需要把数据库操作对象即你写的

那个dao给new出来即可通过数据库操作对象来对数据库中的这张表单实现增删改查等一系列的操作了。

关于ormlite的使用就介绍到这里,希望对大家能有所帮助!

时间: 2024-10-31 04:40:03

OrmLite数据库的使用方法的相关文章

Android ORMLite数据库简介

 一般的项目中,Android自身提供的SQLite数据库,可以满足轻量级的数据存储应用,但是,只要是存储模型稍微复杂的项目,以及数据结构模型复杂的应用,就很难再用SQLite支撑整个项目的数据存储.何况,使用SQLite编写的代码,代码后续维护和管理不容易,所以,上规模的项目中,很有必要引入一种更好用.对开发者更友好的第三方ORM数据库框架:ORMlite. ORMLite官方的简介说:"Object Relational Mapping Lite (ORM Lite) provides

dede数据库类使用方法

dede数据库类使用方法 $dsql dedecms的数据库操作类,非常实用,在二次开发中尤其重要,这个数据库操作类说明算是奉献给大家的小礼物了. 引入common.inc.php文件 1 require_once (dirname(__FILE__) . "/include/common.inc.php"); 获取一条记录的内容 1 2 $row = $dsql->GetOne("Select * From dede_* where id = $aid");

SQL 2005 中查询或执行另外的数据库操作的方法

原文:SQL 2005 中查询或执行另外的数据库操作的方法 摘要: 如果,你想在一台数据库服务器上,查询另一个台数据服务器的数据该如何做呢?如果,你想在同一台数据服务器上,在不同的数据库之间查询数据,又该怎么办呢? 1.Synonym 2.openquery 3.Linked Servers Server Object-->Linked Servers--> serverType 选择 SQL Server, 在 Security 中 选择"Be made using this se

Sql Server 2008 R2 数据库脚本导出方法

经常忘记怎么搞,截几张图记录一下. 1 选中要导出的数据库,右键->任务->生成脚本 2 3 4 查看保存的脚本 Sql Server 2008 R2 数据库脚本导出方法,布布扣,bubuko.com

mssql server 2005还原数据库bak文件与“备份集中的数据库备份与现有的xx数据库不同”解决方法

mssql server 2005还原数据库bak文件,网站使用虚拟主机建站会经常遇到,一般情况下,主机商有在线的管理程序,但有时候没有的话,就需要本地还原备份sql数据库了.这种情况mssql server 2008也同样会出现,有时候会出现“备份集中的数据库备份与现有的xx数据库不同”的错误提示,本文也一并把解决方法说道说道. 第一部分,mssql server 2005(2008)还原数据库bak文件. 一.连接上数据库,右键数据库,选择新建数据库,输入你要还原数据库的名称. 二.确定后右

Android中数据库升级onUpgrade方法说明

Andoird的SQLiteOpenHelper类中有一个onUpgrade方法.帮助文档中只是说当数据库升级时该方法被触发.经过实践,解决了我一连串的疑问: 1. 帮助文档里说的“数据库升级”是指什么? 你开发了一个程序,当前是1.0版本.该程序用到了数据库.到1.1版本时,你在数据库的某个表中增加了一个字段.那么软件1.0版本用的数据库在软件1.1版本就要被升级了. 2. 数据库升级应该注意什么? 软件的1.0版本升级到1.1版本时,老的数据不能丢.那么在1.1版本的程序中就要有地方能够检测

Spring、Ibatis结合MySQL数据库的使用方法

Ibatis是MyBatis的前身,它是一个开源的持久层框架.它的核心是SqlMap--将实体Bean跟关系数据库进行映射,将业务代码和SQL语句的书写进行分开.Ibatis是"半自动化"的ORM持久层框架.这里的"半自动化"是相对Hibernate等提供了全面的数据库封装机制的"全自动化"ORM实现而言的,"全自动"ORM实现了POJO与数据库表字段之间的映射并且实现了SQL的自动生成和执行.而Ibatis的着力点,则在于P

数据库表结构设计方法

author:skate time:2011-02-12 数据库表结构设计方法 当我们设计一个数据库存储模式时,要仔细分析数据模式,不要一股脑的把所有的数据都放在一起.那样的话对系统的可用性,高效能,扩展性都会有严重的影响.当然你设计的系统非常小,完全可以用最简单的方法. 要通过对业务的熟练,从不同的角度对数据进行多维度分析,一般可以从如下几个方向分析: 1.       数据流向 2.       数据访问特点 3.       数据量的大小 4.       数据的增长量 5.      

asp.net 不用控件 循环输出数据库数据的方法

不使用什么repeater gridview之类的控件,怎么才能输出数据库的数据到一个table ,我用response.write在后台,拼接 table 代码可以输出 但总是在页面的最上面 , 是不是要在aspx页面相应位置用<% %> 循环输出 但又提示找不到我后台填充的DATASET,因为听说公司做asp.net是不用控件的,想知道他们是怎么做输出数据库表格的,还请高手帮帮忙,谢谢了. 不明白来问我后台代码public string test = "";    pr