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 中查询或执行另外的数据库操作的方法 摘要: 如果,你想在一台数据库服务器上,查询另一个台数据服务器的数据该如何做呢?如果,你想在同一台数据服务器上,在不同的数据库之间查询数据, ...
随机推荐
- find一些常用参数的一些常用实例和一些具体用法和注意事项。
find一些常用参数的一些常用实例和一些具体用法和注意事项. 1.使用name选项: 文件名选项是find命令最常用的选项,要么单独使用该选项,要么和其他选项一起使用. 可以使用某种文件名模式来匹配 ...
- Linux下I/O模型
Unix下共有五种I/O模型 1. 阻塞式I/O 2. 非阻塞式I/O 3. I/O复用(select和poll) 4. 信号驱动式I/O(SIGIO) 5. 异步I/O(POSIX的aio_系列函数 ...
- guava学习--FluentIterable
public class FluentIterableTest { public static void main(String[] args) { Man man1 = new Man(" ...
- mongostat 3.2指标详解
存储引擎:wiredTiger /usr/local/mongodb-3.2.8/bin/mongostat -uroot -pcEqHuoqiJYhjVpuL --host 127.0.0.1 ...
- Web开发学习笔记
EnumUtils.isValidEnum(JnRouteProViewStateEnum.class, status) : 判断 status是否在 枚举集合中. MapUtils.isNotEmp ...
- 在 Linux 中用 nmcli 命令绑定多块网卡
今天,我们来学习一下在 CentOS 7.x 中如何用 nmcli(Network Manager Command Line Interface:网络管理命令行接口)进行网卡绑定. 网卡(接口)绑定是 ...
- sql 创建数据库
CREATE DATABASE [NET_CN] ON PRIMARY( NAME=N'NET_CN',FILENAME= N'D:\Data\NET_CN.mdf',SIZE = 5120KB,MA ...
- jboss eap开启https协议
1.使用 keytool -genkey -keystore chap8.keystore -storepass rmi+ssl -keypass rmi+ssl -keyalg RSA -alias ...
- 通过WebViewJavascriptBridge实现OC与JS交互
在.m方法当中,申明一个WebViewJavascriptBridge属性: @interface ExampleAppViewController () @property WebViewJav ...
- A web crawler design for data mining
Abstract The content of the web has increasingly become a focus for academic research. Computer prog ...