在web开发中经常采用的hibernate,在android也提供了一个ormlite

导入所需jar包后

摘自:http://blog.csdn.net/cuiran/article/details/24722885

[java] view plaincopy
  1. /**
  2. * SQLiteHelperOrm.java
  3. * 版权所有(C) 2014
  4. * 创建者:cuiran 2014-2-12 下午3:18:40
  5. */
  6. package com.ghyf.mplay.database;
  7. import java.sql.SQLException;
  8. import android.content.Context;
  9. import android.database.sqlite.SQLiteDatabase;
  10. import com.ghyf.mplay.application.BaseCookie;
  11. import com.ghyf.mplay.po.POPriorityText;
  12. import com.ghyf.mplay.po.POTest;
  13. import com.ghyf.mplay.util.LogUtil;
  14. import com.j256.ormlite.android.apptools.OrmLiteSqliteOpenHelper;
  15. import com.j256.ormlite.support.ConnectionSource;
  16. import com.j256.ormlite.table.TableUtils;
  17. /**
  18. * TODO
  19. * @author cuiran
  20. * @version 1.0.0
  21. */
  22. public class SQLiteHelperOrm extends OrmLiteSqliteOpenHelper {
  23. private static final String TAG="SQLiteHelperOrm";
  24. private static final String DATABASE_NAME = "mplay.db";
  25. private static final int DATABASE_VERSION = 3;
  26. public SQLiteHelperOrm(Context context) {
  27. super(context, DATABASE_NAME, null, DATABASE_VERSION);
  28. }
  29. public SQLiteHelperOrm() {
  30. super(BaseCookie.getContext(), DATABASE_NAME, null, DATABASE_VERSION);
  31. }
  32. @Override
  33. public void onCreate(SQLiteDatabase db, ConnectionSource connectionSource) {
  34. try {
  35. TableUtils.createTable(connectionSource, POTest.class);
  36. TableUtils.createTable(connectionSource, POPriorityText.class);
  37. } catch (SQLException e) {
  38. LogUtil.e(TAG,"onCreate",e);
  39. }
  40. }
  41. @Override
  42. public void onUpgrade(SQLiteDatabase db, ConnectionSource connectionSource, int arg2, int arg3) {
  43. try {
  44. TableUtils.dropTable(connectionSource, POTest.class, true);
  45. TableUtils.dropTable(connectionSource, POPriorityText.class, true);
  46. onCreate(db, connectionSource);
  47. } catch (SQLException e) {
  48. LogUtil.e(TAG,"onUpgrade",e);
  49. }
  50. }
  51. }
[java] view plaincopy
  1. /**
  2. * DbHelper.java
  3. * 版权所有(C) 2014
  4. * 创建者:cuiran 2014-2-12 下午3:37:07
  5. */
  6. package com.ghyf.mplay.database;
  7. import java.sql.SQLException;
  8. import java.util.ArrayList;
  9. import java.util.List;
  10. import java.util.Map;
  11. import android.annotation.TargetApi;
  12. import android.content.ContentValues;
  13. import android.os.Build;
  14. import com.ghyf.mplay.util.LogUtil;
  15. import com.j256.ormlite.dao.Dao;
  16. import com.j256.ormlite.stmt.UpdateBuilder;
  17. /**
  18. *  DbHelper 数据库操作类
  19. * @author cuiran
  20. * @version 1.0.0
  21. */
  22. public class DbHelper<T> {
  23. private static final String TAG="DbHelper";
  24. /** 新增一条记录 */
  25. public int create(T po) {
  26. SQLiteHelperOrm db = new SQLiteHelperOrm();
  27. try {
  28. Dao dao = db.getDao(po.getClass());
  29. return dao.create(po);
  30. } catch (SQLException e) {
  31. LogUtil.e(TAG,"create",e);
  32. } finally {
  33. if (db != null)
  34. db.close();
  35. }
  36. return -1;
  37. }
  38. public boolean exists(T po, Map<String, Object> where) {
  39. SQLiteHelperOrm db = new SQLiteHelperOrm();
  40. try {
  41. Dao dao = db.getDao(po.getClass());
  42. if (dao.queryForFieldValues(where).size() > 0) {
  43. return true;
  44. }
  45. } catch (SQLException e) {
  46. LogUtil.e(TAG,"exists",e);
  47. } finally {
  48. if (db != null)
  49. db.close();
  50. }
  51. return false;
  52. }
  53. public int createIfNotExists(T po, Map<String, Object> where) {
  54. SQLiteHelperOrm db = new SQLiteHelperOrm();
  55. try {
  56. Dao dao = db.getDao(po.getClass());
  57. if (dao.queryForFieldValues(where).size() < 1) {
  58. return dao.create(po);
  59. }
  60. } catch (SQLException e) {
  61. LogUtil.e(TAG,"createIfNotExists",e);
  62. } finally {
  63. if (db != null)
  64. db.close();
  65. }
  66. return -1;
  67. }
  68. /** 查询一条记录 */
  69. public List<T> queryForEq(Class<T> c, String fieldName, Object value) {
  70. SQLiteHelperOrm db = new SQLiteHelperOrm();
  71. try {
  72. Dao dao = db.getDao(c);
  73. return dao.queryForEq(fieldName, value);
  74. } catch (SQLException e) {
  75. LogUtil.e(TAG,"queryForEq",e);
  76. } finally {
  77. if (db != null)
  78. db.close();
  79. }
  80. return new ArrayList<T>();
  81. }
  82. /** 删除一条记录 */
  83. public int remove(T po) {
  84. SQLiteHelperOrm db = new SQLiteHelperOrm();
  85. try {
  86. Dao dao = db.getDao(po.getClass());
  87. return dao.delete(po);
  88. } catch (SQLException e) {
  89. LogUtil.e(TAG,"remove",e);
  90. } finally {
  91. if (db != null)
  92. db.close();
  93. }
  94. return -1;
  95. }
  96. /**
  97. * 根据特定条件更新特定字段
  98. *
  99. * @param c
  100. * @param values
  101. * @param columnName where字段
  102. * @param value where值
  103. * @return
  104. */
  105. @TargetApi(Build.VERSION_CODES.HONEYCOMB)
  106. public int update(Class<T> c, ContentValues values, String columnName, Object value) {
  107. SQLiteHelperOrm db = new SQLiteHelperOrm();
  108. try {
  109. Dao dao = db.getDao(c);
  110. UpdateBuilder<T, Long> updateBuilder = dao.updateBuilder();
  111. updateBuilder.where().eq(columnName, value);
  112. for (String key : values.keySet()) {
  113. updateBuilder.updateColumnValue(key, values.get(key));
  114. }
  115. return updateBuilder.update();
  116. } catch (SQLException e) {
  117. LogUtil.e(TAG,"update",e);
  118. } finally {
  119. if (db != null)
  120. db.close();
  121. }
  122. return -1;
  123. }
  124. /** 更新一条记录 */
  125. public int update(T po) {
  126. SQLiteHelperOrm db = new SQLiteHelperOrm();
  127. try {
  128. Dao dao = db.getDao(po.getClass());
  129. return dao.update(po);
  130. } catch (SQLException e) {
  131. LogUtil.e(TAG,"update",e);
  132. } finally {
  133. if (db != null)
  134. db.close();
  135. }
  136. return -1;
  137. }
  138. /** 查询所有记录 */
  139. public List<T> queryForAll(Class<T> c) {
  140. SQLiteHelperOrm db = new SQLiteHelperOrm();
  141. try {
  142. Dao dao = db.getDao(c);
  143. return dao.queryForAll();
  144. } catch (SQLException e) {
  145. LogUtil.e(TAG,"queryForAll",e);
  146. } finally {
  147. if (db != null)
  148. db.close();
  149. }
  150. return new ArrayList<T>();
  151. }
  152. }

新建一个PO

[java] view plaincopy
  1. /**
  2. * POTest.java
  3. * 版权所有(C) 2014
  4. * 创建者:cuiran 2014-2-12 下午3:25:08
  5. */
  6. package com.ghyf.mplay.po;
  7. import com.j256.ormlite.field.DatabaseField;
  8. import com.j256.ormlite.table.DatabaseTable;
  9. /**
  10. *  POTest DB的测试PO
  11. * @author cuiran
  12. * @version 1.0.0
  13. */
  14. @DatabaseTable(tableName = "test")
  15. public class POTest {
  16. @DatabaseField(generatedId = true)
  17. public long _id;
  18. /** 标题 */
  19. @DatabaseField
  20. public String title;
  21. /** 标题 */
  22. @DatabaseField
  23. public int position;
  24. public POTest(long _id, String title, int position) {
  25. super();
  26. this._id = _id;
  27. this.title = title;
  28. this.position = position;
  29. }
  30. public POTest() {
  31. super();
  32. }
  33. }

转载于:https://www.cnblogs.com/antyi/p/4629725.html

(转)Android 使用com.j256.ormlite相关推荐

  1. android模糊检索_【android学习笔记】ormlite学习之模糊搜索like

    [目标]实现表中多个字段模糊搜索. [方法]ormlite like方法 :like(columnName,pattern)    使用%通配符来匹配,指定行数据,返回匹配到的结果 使用示范:mDao ...

  2. android 本地数据库持久化框架,android数据库持久化框架, ormlite框架,

    前言 Android中内置了SQLite,但是对于数据库操作这块,非常的麻烦.其实可以试用第3方的数据库持久化框架对之进行结构上调整, 摆脱了访问数据库操作的细节,不用再去写复杂的SQL语句.虽然这样 ...

  3. 【Android - 框架】之ORMLite的使用

    Android中有很多操作SQLite数据库的框架,现在最常见.最常用的是ORMLite和GreenDAO.ORMLite相比与GreenDAO来说是一个轻量级的框架,而且学习成本相对较低.所以这个帖 ...

  4. ormlite android jar,android使用orm框架ormlite在控制台打印log日志信息

    在默认情况下,在android下默认只打印info级别的日志信息,所以在默认情况只能打印ormlite中创建数据库表的语句,而对于数据的插入和查询等sql语句是不会打印出来的.在ormlite中提供了 ...

  5. Android ORMLite 框架的入门用法

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/39121377 大家在Android项目中或多或少的都会使用数据库,为了提高我们的 ...

  6. [Android学习系列8]数据库ormlite笔记

    一.下载包 http://ormlite.com/ http://ormlite.com/releases/ 把core包 和 android包   build path到项目里 二.参考资料 htt ...

  7. Android 使用ORMLite 操作数据库

    参考:http://blog.csdn.net/cjjky/article/details/7096987 ormlite 方法查询:http://ormlite.com/javadoc/ormlit ...

  8. Android 数据库框架ormlite 使用精要

    Android 数据库框架ormlite 使用精要 前言 本篇博客记录一下笔者在实际开发中使用到的一个数据库框架,这个可以让我们快速实现数据库操作,避免频繁手写sql,提高我们的开发效率,减少出错的机 ...

  9. android面向数据库的的编程工具-OrmLite

    数据库操作框架OrmLite ORMlite是类似hibernate的对象映射框架,主要面向java语言,同时,是时下最流行的android面向数据库的的编程工具. 对象关系映射(Object Rel ...

最新文章

  1. 安装HCL遇到的问题
  2. obj + mtl 格式说明
  3. spark python 开发环境_Eclipse配置Spark Python开发环境
  4. 最大隶属度原则_首款骁龙888旗舰亮相?Realme新品,这外观很有辨识度
  5. java环形链表_数据结构和算法(四)Java实现环形链表
  6. ZOJ 3962 Seven Segment Display(数位DP)题解
  7. vm虚拟机联网最简单的方式
  8. 如何测试服务器上数据库服务器能否连接上
  9. 大型油烟机清洗机器人_大型油烟机清洗机
  10. ASP.NET(C#)备份还原数据库
  11. Java连接HBase
  12. Logistic 回归的决策边界
  13. 统计学基础--假设检验
  14. 库克谈人工智能:增长飞快 兼具颠覆性和创造性
  15. Python编程PTA题解大全——索引
  16. 【processing码绘】简单实现码绘动态图形与拓展
  17. Exiting on user cancel解决
  18. jsp新代码第45课
  19. TL431NSG-A 友顺UTC
  20. Centos 7 拨号上网

热门文章

  1. python爬虫招聘-Python爬虫-爬取招聘网站信息(一)
  2. python 贴吧自动回复机-python借助wxpy与图灵实现微信机器人自动回复消息
  3. 爬虫python代码-Python爬虫教程:200行代码实现一个滑动验证码
  4. python七段数码管设计图案-Python 七段数码管绘制
  5. 计算机二级python用什么书-计算机二级Python考试有什么学习资料?
  6. 用python做炒股软件-python程序源码_基于python的炒股软件
  7. python怎么导入包-python怎样导入包
  8. python学起来难不难-零基础学Python爬虫难不难?要怎么学?
  9. pythonweb开发-一步步教你开始使用Python开发Web应用
  10. python整理excel数据-python操作excel的技巧整理