(转)Android 使用com.j256.ormlite
在web开发中经常采用的hibernate,在android也提供了一个ormlite
导入所需jar包后
摘自:http://blog.csdn.net/cuiran/article/details/24722885
- /**
- * SQLiteHelperOrm.java
- * 版权所有(C) 2014
- * 创建者:cuiran 2014-2-12 下午3:18:40
- */
- package com.ghyf.mplay.database;
- import java.sql.SQLException;
- import android.content.Context;
- import android.database.sqlite.SQLiteDatabase;
- import com.ghyf.mplay.application.BaseCookie;
- import com.ghyf.mplay.po.POPriorityText;
- import com.ghyf.mplay.po.POTest;
- import com.ghyf.mplay.util.LogUtil;
- import com.j256.ormlite.android.apptools.OrmLiteSqliteOpenHelper;
- import com.j256.ormlite.support.ConnectionSource;
- import com.j256.ormlite.table.TableUtils;
- /**
- * TODO
- * @author cuiran
- * @version 1.0.0
- */
- public class SQLiteHelperOrm extends OrmLiteSqliteOpenHelper {
- private static final String TAG="SQLiteHelperOrm";
- private static final String DATABASE_NAME = "mplay.db";
- private static final int DATABASE_VERSION = 3;
- public SQLiteHelperOrm(Context context) {
- super(context, DATABASE_NAME, null, DATABASE_VERSION);
- }
- public SQLiteHelperOrm() {
- super(BaseCookie.getContext(), DATABASE_NAME, null, DATABASE_VERSION);
- }
- @Override
- public void onCreate(SQLiteDatabase db, ConnectionSource connectionSource) {
- try {
- TableUtils.createTable(connectionSource, POTest.class);
- TableUtils.createTable(connectionSource, POPriorityText.class);
- } catch (SQLException e) {
- LogUtil.e(TAG,"onCreate",e);
- }
- }
- @Override
- public void onUpgrade(SQLiteDatabase db, ConnectionSource connectionSource, int arg2, int arg3) {
- try {
- TableUtils.dropTable(connectionSource, POTest.class, true);
- TableUtils.dropTable(connectionSource, POPriorityText.class, true);
- onCreate(db, connectionSource);
- } catch (SQLException e) {
- LogUtil.e(TAG,"onUpgrade",e);
- }
- }
- }
- /**
- * DbHelper.java
- * 版权所有(C) 2014
- * 创建者:cuiran 2014-2-12 下午3:37:07
- */
- package com.ghyf.mplay.database;
- import java.sql.SQLException;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Map;
- import android.annotation.TargetApi;
- import android.content.ContentValues;
- import android.os.Build;
- import com.ghyf.mplay.util.LogUtil;
- import com.j256.ormlite.dao.Dao;
- import com.j256.ormlite.stmt.UpdateBuilder;
- /**
- * DbHelper 数据库操作类
- * @author cuiran
- * @version 1.0.0
- */
- public class DbHelper<T> {
- private static final String TAG="DbHelper";
- /** 新增一条记录 */
- public int create(T po) {
- SQLiteHelperOrm db = new SQLiteHelperOrm();
- try {
- Dao dao = db.getDao(po.getClass());
- return dao.create(po);
- } catch (SQLException e) {
- LogUtil.e(TAG,"create",e);
- } finally {
- if (db != null)
- db.close();
- }
- return -1;
- }
- public boolean exists(T po, Map<String, Object> where) {
- SQLiteHelperOrm db = new SQLiteHelperOrm();
- try {
- Dao dao = db.getDao(po.getClass());
- if (dao.queryForFieldValues(where).size() > 0) {
- return true;
- }
- } catch (SQLException e) {
- LogUtil.e(TAG,"exists",e);
- } finally {
- if (db != null)
- db.close();
- }
- return false;
- }
- public int createIfNotExists(T po, Map<String, Object> where) {
- SQLiteHelperOrm db = new SQLiteHelperOrm();
- try {
- Dao dao = db.getDao(po.getClass());
- if (dao.queryForFieldValues(where).size() < 1) {
- return dao.create(po);
- }
- } catch (SQLException e) {
- LogUtil.e(TAG,"createIfNotExists",e);
- } finally {
- if (db != null)
- db.close();
- }
- return -1;
- }
- /** 查询一条记录 */
- public List<T> queryForEq(Class<T> c, String fieldName, Object value) {
- SQLiteHelperOrm db = new SQLiteHelperOrm();
- try {
- Dao dao = db.getDao(c);
- return dao.queryForEq(fieldName, value);
- } catch (SQLException e) {
- LogUtil.e(TAG,"queryForEq",e);
- } finally {
- if (db != null)
- db.close();
- }
- return new ArrayList<T>();
- }
- /** 删除一条记录 */
- public int remove(T po) {
- SQLiteHelperOrm db = new SQLiteHelperOrm();
- try {
- Dao dao = db.getDao(po.getClass());
- return dao.delete(po);
- } catch (SQLException e) {
- LogUtil.e(TAG,"remove",e);
- } finally {
- if (db != null)
- db.close();
- }
- return -1;
- }
- /**
- * 根据特定条件更新特定字段
- *
- * @param c
- * @param values
- * @param columnName where字段
- * @param value where值
- * @return
- */
- @TargetApi(Build.VERSION_CODES.HONEYCOMB)
- public int update(Class<T> c, ContentValues values, String columnName, Object value) {
- SQLiteHelperOrm db = new SQLiteHelperOrm();
- try {
- Dao dao = db.getDao(c);
- UpdateBuilder<T, Long> updateBuilder = dao.updateBuilder();
- updateBuilder.where().eq(columnName, value);
- for (String key : values.keySet()) {
- updateBuilder.updateColumnValue(key, values.get(key));
- }
- return updateBuilder.update();
- } catch (SQLException e) {
- LogUtil.e(TAG,"update",e);
- } finally {
- if (db != null)
- db.close();
- }
- return -1;
- }
- /** 更新一条记录 */
- public int update(T po) {
- SQLiteHelperOrm db = new SQLiteHelperOrm();
- try {
- Dao dao = db.getDao(po.getClass());
- return dao.update(po);
- } catch (SQLException e) {
- LogUtil.e(TAG,"update",e);
- } finally {
- if (db != null)
- db.close();
- }
- return -1;
- }
- /** 查询所有记录 */
- public List<T> queryForAll(Class<T> c) {
- SQLiteHelperOrm db = new SQLiteHelperOrm();
- try {
- Dao dao = db.getDao(c);
- return dao.queryForAll();
- } catch (SQLException e) {
- LogUtil.e(TAG,"queryForAll",e);
- } finally {
- if (db != null)
- db.close();
- }
- return new ArrayList<T>();
- }
- }
新建一个PO
- /**
- * POTest.java
- * 版权所有(C) 2014
- * 创建者:cuiran 2014-2-12 下午3:25:08
- */
- package com.ghyf.mplay.po;
- import com.j256.ormlite.field.DatabaseField;
- import com.j256.ormlite.table.DatabaseTable;
- /**
- * POTest DB的测试PO
- * @author cuiran
- * @version 1.0.0
- */
- @DatabaseTable(tableName = "test")
- public class POTest {
- @DatabaseField(generatedId = true)
- public long _id;
- /** 标题 */
- @DatabaseField
- public String title;
- /** 标题 */
- @DatabaseField
- public int position;
- public POTest(long _id, String title, int position) {
- super();
- this._id = _id;
- this.title = title;
- this.position = position;
- }
- public POTest() {
- super();
- }
- }
转载于:https://www.cnblogs.com/antyi/p/4629725.html
(转)Android 使用com.j256.ormlite相关推荐
- android模糊检索_【android学习笔记】ormlite学习之模糊搜索like
[目标]实现表中多个字段模糊搜索. [方法]ormlite like方法 :like(columnName,pattern) 使用%通配符来匹配,指定行数据,返回匹配到的结果 使用示范:mDao ...
- android 本地数据库持久化框架,android数据库持久化框架, ormlite框架,
前言 Android中内置了SQLite,但是对于数据库操作这块,非常的麻烦.其实可以试用第3方的数据库持久化框架对之进行结构上调整, 摆脱了访问数据库操作的细节,不用再去写复杂的SQL语句.虽然这样 ...
- 【Android - 框架】之ORMLite的使用
Android中有很多操作SQLite数据库的框架,现在最常见.最常用的是ORMLite和GreenDAO.ORMLite相比与GreenDAO来说是一个轻量级的框架,而且学习成本相对较低.所以这个帖 ...
- ormlite android jar,android使用orm框架ormlite在控制台打印log日志信息
在默认情况下,在android下默认只打印info级别的日志信息,所以在默认情况只能打印ormlite中创建数据库表的语句,而对于数据的插入和查询等sql语句是不会打印出来的.在ormlite中提供了 ...
- Android ORMLite 框架的入门用法
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/39121377 大家在Android项目中或多或少的都会使用数据库,为了提高我们的 ...
- [Android学习系列8]数据库ormlite笔记
一.下载包 http://ormlite.com/ http://ormlite.com/releases/ 把core包 和 android包 build path到项目里 二.参考资料 htt ...
- Android 使用ORMLite 操作数据库
参考:http://blog.csdn.net/cjjky/article/details/7096987 ormlite 方法查询:http://ormlite.com/javadoc/ormlit ...
- Android 数据库框架ormlite 使用精要
Android 数据库框架ormlite 使用精要 前言 本篇博客记录一下笔者在实际开发中使用到的一个数据库框架,这个可以让我们快速实现数据库操作,避免频繁手写sql,提高我们的开发效率,减少出错的机 ...
- android面向数据库的的编程工具-OrmLite
数据库操作框架OrmLite ORMlite是类似hibernate的对象映射框架,主要面向java语言,同时,是时下最流行的android面向数据库的的编程工具. 对象关系映射(Object Rel ...
最新文章
- 安装HCL遇到的问题
- obj + mtl 格式说明
- spark python 开发环境_Eclipse配置Spark Python开发环境
- 最大隶属度原则_首款骁龙888旗舰亮相?Realme新品,这外观很有辨识度
- java环形链表_数据结构和算法(四)Java实现环形链表
- ZOJ 3962 Seven Segment Display(数位DP)题解
- vm虚拟机联网最简单的方式
- 如何测试服务器上数据库服务器能否连接上
- 大型油烟机清洗机器人_大型油烟机清洗机
- ASP.NET(C#)备份还原数据库
- Java连接HBase
- Logistic 回归的决策边界
- 统计学基础--假设检验
- 库克谈人工智能:增长飞快 兼具颠覆性和创造性
- Python编程PTA题解大全——索引
- 【processing码绘】简单实现码绘动态图形与拓展
- Exiting on user cancel解决
- jsp新代码第45课
- TL431NSG-A 友顺UTC
- Centos 7 拨号上网
热门文章
- python爬虫招聘-Python爬虫-爬取招聘网站信息(一)
- python 贴吧自动回复机-python借助wxpy与图灵实现微信机器人自动回复消息
- 爬虫python代码-Python爬虫教程:200行代码实现一个滑动验证码
- python七段数码管设计图案-Python 七段数码管绘制
- 计算机二级python用什么书-计算机二级Python考试有什么学习资料?
- 用python做炒股软件-python程序源码_基于python的炒股软件
- python怎么导入包-python怎样导入包
- python学起来难不难-零基础学Python爬虫难不难?要怎么学?
- pythonweb开发-一步步教你开始使用Python开发Web应用
- python整理excel数据-python操作excel的技巧整理