- 浏览: 599470 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (669)
- oracle (36)
- java (98)
- spring (48)
- UML (2)
- hibernate (10)
- tomcat (7)
- 高性能 (11)
- mysql (25)
- sql (19)
- web (42)
- 数据库设计 (4)
- Nio (6)
- Netty (8)
- Excel (3)
- File (4)
- AOP (1)
- Jetty (1)
- Log4J (4)
- 链表 (1)
- Spring Junit4 (3)
- Autowired Resource (0)
- Jackson (1)
- Javascript (58)
- Spring Cache (2)
- Spring - CXF (2)
- Spring Inject (2)
- 汉字拼音 (3)
- 代理模式 (3)
- Spring事务 (4)
- ActiveMQ (6)
- XML (3)
- Cglib (2)
- Activiti (15)
- 附件问题 (1)
- javaMail (1)
- Thread (19)
- 算法 (6)
- 正则表达式 (3)
- 国际化 (2)
- Json (3)
- EJB (3)
- Struts2 (1)
- Maven (7)
- Mybatis (7)
- Redis (8)
- DWR (1)
- Lucene (2)
- Linux (73)
- 杂谈 (2)
- CSS (13)
- Linux服务篇 (3)
- Kettle (9)
- android (81)
- protocol (2)
- EasyUI (6)
- nginx (2)
- zookeeper (6)
- Hadoop (41)
- cache (7)
- shiro (3)
- HBase (12)
- Hive (8)
- Spark (15)
- Scala (16)
- YARN (3)
- Kafka (5)
- Sqoop (2)
- Pig (3)
- Vue (6)
- sprint boot (19)
- dubbo (2)
- mongodb (2)
最新评论
在Android项目中或多或少的都会使用数据库,为了提高我们的开发效率,当然少不了数据库ORM框架了,尤其是某些数据库操作特别频繁的app。
下面开始介绍ORMLite的入门用法~
1、下载 ORMLite Jar
首先去 ORMLite官网下载jar包,对于Android为:ormlite-android-4.48.jar 和 ormlite-core-4.48.jar ;
2、配置Bean类
有了jar,我们直接新建一个项目为:zhy_ormlite,然后把jar拷贝到libs下。
然后新建一个包:com.zhy.zhy_ormlite.bean专门用于存放项目中的Bean,首先新建一个User.java
首先在User类上添加@DatabaseTable(tableName = "tb_user"),标明这是数据库中的一张表,标明为tb_user
然后分别在属性上添加@DatabaseField(columnName = "name") ,columnName的值为该字段在数据中的列名
@DatabaseField(generatedId = true) ,generatedId 表示id为主键且自动生成
3、编写DAO类
原生的数据库操作,需要继承SQLiteOpenHelper,这里我们需要继承OrmLiteSqliteOpenHelper,看代码:
1、整个DatabaseHelper使用单例只对外公布出一个对象,保证app中只存在一个SQLite Connection
2、我们对每个Bean创建一个XXXDao来处理当前Bean的数据库操作,当然真正去和数据库打交道的对象,通过上面代码中的getDao(T t)进行获取
getDao为一个泛型方法,会根据传入Class对象进行创建Dao,并且使用一个Map来保持所有的Dao对象,只有第一次调用时才会去调用底层的getDao()。
4、Bean的Dao
5.事务操作
ORMLite下载地址:http://ormlite.com/releases/
转自:http://blog.csdn.net/lmj623565791/article/details/39122981
下面开始介绍ORMLite的入门用法~
1、下载 ORMLite Jar
首先去 ORMLite官网下载jar包,对于Android为:ormlite-android-4.48.jar 和 ormlite-core-4.48.jar ;
2、配置Bean类
有了jar,我们直接新建一个项目为:zhy_ormlite,然后把jar拷贝到libs下。
然后新建一个包:com.zhy.zhy_ormlite.bean专门用于存放项目中的Bean,首先新建一个User.java
package com.zhy.zhy_ormlite.bean; import com.j256.ormlite.field.DatabaseField; import com.j256.ormlite.table.DatabaseTable; @DatabaseTable(tableName = "tb_user") public class User { @DatabaseField(generatedId = true) private int id; @DatabaseField(columnName = "name") private String name; @DatabaseField(columnName = "desc") private String desc; public User() { } public User(String name, String desc) { this.name = name; this.desc = desc; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getDesc() { return desc; } public void setDesc(String desc) { this.desc = desc; } }
首先在User类上添加@DatabaseTable(tableName = "tb_user"),标明这是数据库中的一张表,标明为tb_user
然后分别在属性上添加@DatabaseField(columnName = "name") ,columnName的值为该字段在数据中的列名
@DatabaseField(generatedId = true) ,generatedId 表示id为主键且自动生成
3、编写DAO类
原生的数据库操作,需要继承SQLiteOpenHelper,这里我们需要继承OrmLiteSqliteOpenHelper,看代码:
package com.zhy.zhy_ormlite.db; import java.sql.SQLException; import java.util.HashMap; import java.util.Map; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import com.j256.ormlite.android.apptools.OrmLiteSqliteOpenHelper; import com.j256.ormlite.dao.Dao; import com.j256.ormlite.support.ConnectionSource; import com.j256.ormlite.table.TableUtils; import com.zhy.zhy_ormlite.bean.Article; import com.zhy.zhy_ormlite.bean.Student; import com.zhy.zhy_ormlite.bean.User; public class DatabaseHelper extends OrmLiteSqliteOpenHelper { private static final String TABLE_NAME = "sqlite-test.db"; private Map<String, Dao> daos = new HashMap<String, Dao>(); private DatabaseHelper(Context context) { super(context, TABLE_NAME, null, 4); } @Override public void onCreate(SQLiteDatabase database, ConnectionSource connectionSource) { try { TableUtils.createTable(connectionSource, User.class); TableUtils.createTable(connectionSource, Article.class); TableUtils.createTable(connectionSource, Student.class); } catch (SQLException e) { e.printStackTrace(); } } @Override public void onUpgrade(SQLiteDatabase database, ConnectionSource connectionSource, int oldVersion, int newVersion) { try { TableUtils.dropTable(connectionSource, User.class, true); TableUtils.dropTable(connectionSource, Article.class, true); TableUtils.dropTable(connectionSource, Student.class, true); onCreate(database, connectionSource); } catch (SQLException e) { e.printStackTrace(); } } private static DatabaseHelper instance; /** * 单例获取该Helper * * @param context * @return */ public static synchronized DatabaseHelper getHelper(Context context) { context = context.getApplicationContext(); if (instance == null) { synchronized (DatabaseHelper.class) { if (instance == null) instance = new DatabaseHelper(context); } } return instance; } public synchronized Dao getDao(Class clazz) throws SQLException { Dao dao = null; String className = clazz.getSimpleName(); if (daos.containsKey(className)) { dao = daos.get(className); } if (dao == null) { dao = super.getDao(clazz); daos.put(className, dao); } return dao; } /** * 释放资源 */ @Override public void close() { super.close(); for (String key : daos.keySet()) { Dao dao = daos.get(key); dao = null; } } }
1、整个DatabaseHelper使用单例只对外公布出一个对象,保证app中只存在一个SQLite Connection
2、我们对每个Bean创建一个XXXDao来处理当前Bean的数据库操作,当然真正去和数据库打交道的对象,通过上面代码中的getDao(T t)进行获取
getDao为一个泛型方法,会根据传入Class对象进行创建Dao,并且使用一个Map来保持所有的Dao对象,只有第一次调用时才会去调用底层的getDao()。
4、Bean的Dao
package com.zhy.zhy_ormlite.db; import java.sql.SQLException; import android.content.Context; import com.j256.ormlite.dao.Dao; import com.zhy.zhy_ormlite.bean.User; public class UserDao { private Context context; private Dao<User, Integer> userDaoOpe; private DatabaseHelper helper; public UserDao(Context context) { this.context = context; try { helper = DatabaseHelper.getHelper(context); userDaoOpe = helper.getDao(User.class); } catch (SQLException e) { e.printStackTrace(); } } /** * 增加一个用户 * @param user */ public void add(User user) { try { userDaoOpe.create(user); } catch (SQLException e) { e.printStackTrace(); } }//...other operations }
5.事务操作
//事务操作 TransactionManager.callInTransaction(helper.getConnectionSource(), new Callable<Void>() { @Override public Void call() throws Exception { return null; } });
ORMLite下载地址:http://ormlite.com/releases/
转自:http://blog.csdn.net/lmj623565791/article/details/39122981
- zhy_ormlite.rar (4 MB)
- 下载次数: 0
发表评论
文章已被作者锁定,不允许评论。
-
android BaseActivity与BaseFragment的封装
2016-05-19 15:06 10381 概述 多模块Activity+多Fragment 是开发 ... -
android ScrollView常用属性
2016-05-09 09:17 729android:scrollbars 设置滚动条显示。none ... -
android RecyclerView使用及详解
2016-05-04 10:35 29231.前言 话说RecyclerView已经面市很久,也在很多 ... -
android DialogFragment 创建对话框(官方推荐)
2016-04-29 14:22 9261、 概述 DialogFragment在android 3. ... -
android Intent Flags及Task相关属性
2016-04-26 09:15 642task是一个具有栈结构的容器,可以放置多个Activity实 ... -
android SQLite具体实例应用详解(SQLiteOpenHelper)
2016-04-18 19:24 838上次我向大家介绍了SQLite的基本信息和使用过程,相信朋友们 ... -
android SQLite3常用命令&语法
2016-04-18 19:01 644sqlite数据库只用一个文件就ok,小巧方便,所以是一个非常 ... -
android View绘制相关问题总结
2016-03-28 19:27 7041.View的绘制流程分几步 ... -
android Handler Looper MessageQueue机制的原理
2016-03-22 21:09 789andriod提供了Handler和Looper来满足线程间的 ... -
android Bitmap,BitmapFactory类图像处理
2016-03-16 16:28 2391BitMap代表一张位图,扩展名可以是.bmp或者.dib。 ... -
android 三类菜单(Option) (Context) (SubMenu)学习
2016-03-14 15:23 949在Android系统中,菜单可以分为三类:选项菜单(Optio ... -
android AsyncTask<参数,进度值类型,返回类型>学习
2016-03-10 14:45 1205AsyncTask和Handler对比 1 ... -
android 远程图片获取和本地缓存
2016-03-10 14:32 802概述 对于客户端——服 ... -
android onSaveInstanceState和onRestoreInstanceState学习
2016-03-10 10:08 825Android中的activity通过onSaveInst ... -
android Fragment生命周期和回退栈学习以及Fragment之间通信
2016-03-10 09:31 1554会涉及到Fragment如何产生,什么是Fragment,Fr ... -
android LruCache内存缓存学习(重写sizeOf方法)
2016-03-09 19:25 1089什么是缓存? 缓存技术原理就是把用户访问的所有对象看作一个全 ... -
android ListView中的convertView缓存及使用
2016-03-09 19:12 1736一、复用convertView 首先讲下ListView的原 ... -
android 从资源角度谈Android代码内存优化
2016-03-09 18:54 741开发人员如果在进行代码编写之前就有内存泄露方面的基础知识,那么 ... -
android startActivityForResult和setResult详情及Demo
2016-03-09 08:56 1072startActivityForResult与startAct ... -
android Toast详解以及自定义Toast例子
2016-01-28 14:15 1554Toast的用法 Toast只是一个View视图,快速的为用 ...
相关推荐
SQLite数据库具有体积小、效率高、无需单独服务器进程等优点,非常适合移动设备上的应用。 这篇资料主要围绕的是Android中的SQLite ORM(Object-Relational Mapping)框架,这是一种将数据库操作与对象模型相结合的...
本文将深入探讨ORMLite框架的原理、二次封装的方法以及如何利用封装后的工具类进行Sqlite数据库操作。 首先,ORMLite的核心理念是将Java对象与数据库表之间的映射关系自动化处理。通过注解,我们可以标记Java类及其...
在标题"ormlite操作android数据库"中,主要涉及的是如何使用ORMLite框架来管理Android应用中的SQLite数据库。下面我们将详细探讨ORMLite在Android环境下的核心概念、使用步骤以及一些关键特性。 1. **核心概念** -...
- 数据库创建:SQLiteOpenHelper是Android中用于管理SQLite数据库的类,包括创建、升级和回降数据库版本。 - SQL操作:SQL语句用于创建表、插入数据、查询、更新和删除数据。 - Cursor对象:它是Android中的游标...
SQLite ORM(对象关系映射)框架则简化了Android开发者与SQLite数据库之间的交互,使得数据操作更加方便,代码更简洁。本文将深入探讨Android轻量级SQLite ORM框架,并结合提供的源码进行学习。 首先,我们需要了解...
通过学习并实践以上知识点,你将能够熟练地在Android应用中运用SQLite数据库,实现高效的数据存储和管理。同时,随着技术的发展,不断了解新的库和最佳实践,如使用LiveData和ViewModel配合Room进行数据绑定,可以...
总之,通过学习这个项目,开发者可以深入理解Android中SQLite数据库的ORM映射方式,掌握使用注解简化数据库操作的方法,提升Android应用开发的效率。这不仅可以减少代码量,还能降低维护成本,使代码更加清晰、易于...
在Android应用开发中,SQLite ORM(对象关系映射)框架可以帮助开发者更加便捷地管理和操作数据库,避免了直接编写SQL语句的繁琐。本文将深入探讨一个适用于Android的轻量级SQLite ORM框架。 1. **SQLite基础知识**...
这些框架将Java对象与SQLite数据库中的记录自动映射,减少了手动编写SQL语句的工作量。在这个项目中,你可能接触到一种轻量级的ORM框架,通过注解或配置文件定义数据模型和数据库之间的映射关系。 4. **数据模型...
Lite ORM是一款针对Android平台设计的简单易用的对象关系映射框架,它允许开发者通过简单的注解将Java对象与SQLite数据库表进行绑定,避免了编写SQL语句的繁琐工作。在"android-lite-orm-master"这个压缩包中,包含...
然而,直接操作SQLite数据库可能会使代码变得复杂,不易维护。因此,出现了类似Hibernate的Android SQLite持久化框架,它们旨在简化数据存取,提高开发效率。 Hibernate是Java领域的一个对象关系映射(ORM)框架,...
ORMLite则是另一个流行的选择,它提供了Java到SQLite数据库的映射,支持多种数据库类型,包括SQLite。ORMLite提供了丰富的API,允许开发者进行复杂的查询和事务处理。 从压缩包中的“Android应用源码”来看,这个...
ORMLite(Object-Relational Mapping Lite)是一个轻量级的ORM框架,它简化了在Android平台上与SQLite数据库进行交互的工作。本资源提供了ORMLite的jar文件以及官方文档,帮助开发者快速上手并高效地使用这个库。 *...
本篇将详细讲解如何在Android上使用ORMlite进行数据库持久化映射,使得SQLite数据库的操作更加简洁高效。 ORMlite是一个轻量级的Java ORM框架,它允许开发者通过面向对象的方式来操作数据库,而无需直接编写SQL语句...
ORMLite 是一个轻量级的对象关系映射(Object-Relational Mapping)框架,它主要用于简化在Java和Android平台上对SQLite数据库的操作。ORMLite 让开发者可以用面向对象的方式处理数据库操作,而无需直接编写SQL语句...
它们扩展了核心库,添加了对Android特定特性的支持,如SQLite数据库的管理。`ormlite-android-4.48-sources.jar`同样提供了Android库的源代码。 `ormlite.pdf`是ORMLite的官方用户手册,详细介绍了如何配置和使用...
在Android系统中,每个应用程序都有自己的SQLite数据库,可以通过`SQLiteOpenHelper`类来创建、升级和访问数据库。`SQLiteOpenHelper`的子类通常负责管理数据库的版本控制,并在需要时执行升级脚本。 接下来,ORM...
1. **数据模型类**:查看用注解标记的Java类,理解它们如何映射到SQLite数据库的表和字段。 2. **数据库初始化**:了解如何在应用程序启动时创建或升级数据库,通常是在SQLiteOpenHelper的子类中完成。 3. **数据库...
其次,ORM框架在Android开发中被广泛使用,它可以将Java对象与SQLite数据库中的记录对应起来,简化数据操作。例如,ActiveAndroid、ORMLite和GreenDao等都是知名的Android ORM库。这些框架使得开发者可以使用面向...
本项目“AndroidInject增加sqlite3数据库映射注解(ORM)”是针对Android应用的一个源码示例,旨在教授如何通过对象关系映射(ORM)技术简化与SQLite3数据库的交互,提升开发效率,特别是在毕业设计或论文撰写过程中...