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 中查询或执行另外的数据库操作的方法 摘要: 如果,你想在一台数据库服务器上,查询另一个台数据服务器的数据该如何做呢?如果,你想在同一台数据服务器上,在不同的数据库之间查询数据, ...
随机推荐
- MUMmer 3使用方法
DNA和核苷酸的快速比对软件包,基于suffix tree 数据结构,快速.图形化.模块可用于其他软件.可进行大基因组比对.多对多基因组比对. The MUMmer Home Page The MUM ...
- Assembly.Load(path).CreateInstance 反射出错解决办法
最近采用工厂模式反射DAL层出现一些问题,所以自己想写一下自己认为标准解决的思路和解决方法以备后用. 1.这是项目结构 2.这是DALFactory 反射代码 #region 创建对象(不使用缓存) ...
- iOS开发UI篇—UITableview控件使用小结
iOS开发UI篇—UITableview控件使用小结 一.UITableview的使用步骤 UITableview的使用就只有简单的三个步骤: 1.告诉一共有多少组数据 方法:- (NSInteger ...
- 网页中插入QQ在线功能
网页中插入QQ在线功能 本随笔记录的是网页中如何插入qq在线聊天,这里讲解的是 普通QQ在线聊天操作. 例:第一种方式 使用 tencent://message/?uin=QQ号码&Site ...
- MVC模型
MVC:model.view.controller. 浏览器browser发出一个请求,被servlet(控制器controller)接收,由servlet去实例化一个模型层(JavaBean)的对象 ...
- linux 2.6.21版本的内核合法的MAC地址
当执行ifconfig eth0 hw ether 11:22:33:44:55:66时,当前内核显示修改成功,但是ping时只无限发送ARP包,PC机也已经给板子回ARP包,但没有任何ICMP包的信 ...
- sql中replace函数与like结合达到提换的效果
create table ts ( idd varchar() , co1 varchar() , co2 varchar() , co3 varchar() , gai varchar() ); i ...
- Ionic 2.0.0-rc.1 发布,HTML5 移动应用框架
Ionic 2.0.0-rc.1 发布了,Ionic Framework 是个高级的 HTML5 移动端应用框架,是个很漂亮的使用 HTML5 开发混合移动应用前端框架.本次更新内容如下: Bug 修 ...
- <Java中的继承和组合之间的联系和区别>
//Java中的继承和组合之间的联系和区别 //本例是继承 class Animal { private void beat() { System.out.println("心胀跳动...& ...
- 安装生物信息学软件-R
主要参考http://www.3fwork.com/b211/000091MYM021616/ Step 1 : sudo gedit /etc/apt/sources.list 添加到末尾 deb ...