OrmLite数据库的使用方法



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



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;
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase, ConnectionSource connectionSource) {
//创建表
try {
//CardImg
TableUtils.createTableIfNotExists(connectionSource, CardImg.class);
} catch (SQLException e) {
e.printStackTrace();
}
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, ConnectionSource connectionSource, int i, int i1) {
//删除表
try {
TableUtils.dropTable(connectionSource,CardImg.class,true);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
3、创建好属性类以及创建好了数据库之后,就要根据属性类来专门写一个针对于此属性类的一个数据库操作对象了,
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创建数据库的方法基本上算是圆满成功了,在实体类中需要调用的时候只需要把数据库操作对象即你写的
OrmLite数据库的使用方法的更多相关文章
- DataTable数据批量写入数据库三种方法比较
DataTable数据批量写入数据库三种方法比较 标签: it 分类: C#1) insert循环插入:2) sqldataadapter.update(dataset,tablename); ...
- KEGG数据库的使用方法与介绍
KEGG数据库的使用方法与介绍 KEGG的数据 KEGG中的pathway是根据相关知识手绘的,这里的手绘的意思可能是指人工以特定的语言格式来确定通路各组件的联系:基因组信息主要是从NCBI等数据库中 ...
- MySql数据库乱码解决方法
MySql数据库乱码解决方法 解决乱码问题一个原则:存取系统使用一致的编码规则. 多使用mysql的原生命令行,这样才能做更多的事情. 第一步: 确认应用系统需要使用的编码 java的默认编码是跟 ...
- Oracle数据库的备份方法
1.引言 Oracle数据库的备份方法很多,无论使用那种备份方法,备份的目的都是为了在出现故障后能够以尽可能小的时间和代价恢复系统.比如使用export实用程序导出数据库对象.使用Oracle备份数据 ...
- sql2008备份集中的数据库备份与现有的xxx数据库不同解决方法
原文链接:http://wncbl.cn/posts/1993c22/ 问题描述 今天在配置一个 ASP 站点时,导入以前的数据库备份文件,提示:sql2008备份集中的数据库备份与现有的xxx数据库 ...
- 转载“启动\关闭Oracle数据库的多种方法”--来自百度#Oracle
启动\关闭Oracle数据库的多种方法 启动和关闭oracle有很多种方法. 这里只给出3种方法: l Sql*plus l OEM控制台 l Wind ...
- mssql server 2005还原数据库bak文件与“备份集中的数据库备份与现有的xx数据库不同”解决方法
mssql server 2005还原数据库bak文件,网站使用虚拟主机建站会经常遇到,一般情况下,主机商有在线的管理程序,但有时候没有的话,就需要本地还原备份sql数据库了.这种情况mssql se ...
- 在Eclipse中使用JDBC访问MySQL数据库的配置方法
在Eclipse中使用JDBC访问MySQL数据库的配置方法 分类: DATABASE 数据结构与算法2009-10-10 16:37 5313人阅读 评论(10) 收藏 举报 jdbcmysql数据 ...
- SQL 2005 中查询或执行另外的数据库操作的方法
原文:SQL 2005 中查询或执行另外的数据库操作的方法 摘要: 如果,你想在一台数据库服务器上,查询另一个台数据服务器的数据该如何做呢?如果,你想在同一台数据服务器上,在不同的数据库之间查询数据, ...
随机推荐
- Python3.X新特性之print和exec
print print 现在是一个函数,不再是一个语句.<语法更为清晰> 实例1 打开文件 log.txt 以便进行写入并将对象指定给 fid.然后利用 print将一个字符串重定向给文件 ...
- Android 之计算控件颜色透明度
Android 之计算控件颜色透明度 1.UI会给一个数值,例如:#EFE000,透明度30% 2.用255乘以30%等于76.5,然后四舍五入等于77 3.用计算器将十进制的77转成十六进制的数据为 ...
- C#导出csv文件 支持中文的解决方案
#region 导出CSV下载 string exportFileName = "Export" + DateTime.Now.ToString("yyyyMMddHHm ...
- javascript内置属性——arguments
arguments是javascript中的内置属性,可以直接调用函数的参数,作用类似Array,但本身并不是数组.这次发现它是为了实现封装函数,将不确定数量的数字乘积.比如function mult ...
- (转)【深入浅出jQuery】源码浅析2--奇技淫巧
[深入浅出jQuery]源码浅析2--奇技淫巧 http://www.cnblogs.com/coco1s/p/5303041.html
- 电源相关知识—S0、S1(POS)、S2、S3(STR)、 S4、S5、睡眠、休眠、待机
转 http://blog.sina.com.cn/s/blog_52f28dde0100l3ci.html APM https://en.wikipedia.org/wiki/Advanced_Po ...
- CSS垂直居中指南
大概整理下css中的垂直居中问题 主要分两大类 1 知道块元素尺寸,一般就是指知道元素高度. 方法一:最简单的,类比水平居中. 思路:子元素设置为absolute; top bottom都设置为0 ...
- HttpURLConnection网络请求
//创建访问的方法 public String Check_json(){ //创建一个结果字符串 String result=""; //拼接字符串 StringBuffer s ...
- Spark随笔(一):Spark的综合认识
一.Spark与Hadoop的关系 Spark和Hadoop只是共用了底层的MapReduce编程模型,即它们均是基于MapReduce思想所开发的分布式数据处理系统. Hadoop采用MapRedu ...
- SVG 2D入门10 - 滤镜
滤镜称得上是SVG最强大的功能了,它允许你给图形(图形元素和容器元素)添加各种专业软件中才有的滤镜特效.这样你就很容易在客户端生成和修改图像了.而且滤镜并没有破坏原有文档的结构,所以维护性也很好. ...