android数据库框架ormlite的使用
2016-10-20 10:05
603 查看
开篇:相信大家在android开发过程中大多数项目都需要使用android的数据库sqllite,但是每次直接利用android提供的api来增删改查数据表有点繁琐,做javaweb的都知道有一款数据库框架叫Hibernate ,android端同样有类似这样的框架,下面就给大家介绍这款框架ormlite的使用。orm就是对象关系映射的意思,就是讲关系性质的数据表转化成java的的对象来操作,极大的符合我们java开发人员的思维模式,也免去了不少重复性的代码编写。
1.下载所需jar包
到http://ormlite.com/releases/ 该网站下载所需jar包,android端使用需要下载以下两个jar包(红框圈出来的),一个是ormlite-core-5.0.jar(该包是ormlite的核心代码包),一个是ormlite-android-5.0.jar(该包是在android工程中所需的jar包,如果在普通java工程或者javaweb工程中则使用核心包和另一个jar包ormlite-jdbc-5.0.jar)。
新建工程,在libs目录下考入刚下载的两个jar包,如下图所示:
3.接下来编写一个简单的存储并读取用户信息的代码。
(1)先编写userbean类,该类的字段和表字段一一对应,代码如下:
(2)编写DatabaseHelper类继承OrmLiteSqliteOpenHelper:
(3)编写dao类,先简单的写一个存储方法和一个查询方法。
(4)使用上面创建的dao来保存一个用户并读取改用户信息,示例代码如下:
(5)完成,运行程序即可。
4.总结,这是ormlite的简单使用,还有更多功能,详细查看官方api,可以下载doc包,或者源码包,如下图:
5.完整Demo下载地址:http://pan.baidu.com/s/1pL3xGaJ
1.下载所需jar包
到http://ormlite.com/releases/ 该网站下载所需jar包,android端使用需要下载以下两个jar包(红框圈出来的),一个是ormlite-core-5.0.jar(该包是ormlite的核心代码包),一个是ormlite-android-5.0.jar(该包是在android工程中所需的jar包,如果在普通java工程或者javaweb工程中则使用核心包和另一个jar包ormlite-jdbc-5.0.jar)。
2.新建android工程,考入jar包
新建工程,在libs目录下考入刚下载的两个jar包,如下图所示:3.接下来编写一个简单的存储并读取用户信息的代码。
(1)先编写userbean类,该类的字段和表字段一一对应,代码如下:
package com.example.androidormlitedemo; import com.j256.ormlite.field.DatabaseField; import com.j256.ormlite.table.DatabaseTable; //用注解标示该类和表user来映射,如果不写tableName则会默认用该类的类名来当做表名。 @DatabaseTable(tableName="user") public class UserBean { //用注解标示字段和表中的字段来对应,id=true表示该字段为主键。 @DatabaseField(id=true) private int uid; //普通字段则不用写括号 @DatabaseField private String uname; @DatabaseField private int age; public int getUid() { return uid; } public void setUid(int uid) { this.uid = uid; } public String getUname() { return uname; } public void setUname(String uname) { this.uname = uname; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
(2)编写DatabaseHelper类继承OrmLiteSqliteOpenHelper:
package com.example.androidormlitedemo; import java.sql.SQLException; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import com.j256.ormlite.android.apptools.OrmLiteSqliteOpenHelper; import com.j256.ormlite.support.ConnectionSource; import com.j256.ormlite.table.TableUtils; public class DatabaseHelper extends OrmLiteSqliteOpenHelper { // 数据库名称,会在程序的目录中生成test_db.db数据库文件 public static String DATABASE_NAME = "test_db"; // 数据库version private static final int DATABASE_VERSION = 1; public DatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } public DatabaseHelper(Context context, String databaseName, CursorFactory factory, int databaseVersion) { super(context, databaseName, factory, databaseVersion); } // 初次运行程序会执行该onCreate方法,如果不是初次运行程序则不会执行该方法,防止重复建表。 @Override public void onCreate(SQLiteDatabase sqLiteDatabase, ConnectionSource connectionSource) { try { //建立User表 TableUtils.createTable(connectionSource, UserBean.class); } catch (SQLException e) { e.printStackTrace(); } } //如果不是初次运行并且DATABASE_VERSION数值增加的时候,则会执行该方法,可以在该方法中删除原来的表并建立新表,在要修改数据表结构的时候使用。 @Override public void onUpgrade(SQLiteDatabase sqLiteDatabase, ConnectionSource connectionSource, int oldVersion, int newVersion) { try { TableUtils.dropTable(connectionSource, UserBean.class, true); onCreate(sqLiteDatabase, connectionSource); } catch (SQLException e) { e.printStackTrace(); } } /** * 释放 DAO */ @Override public void close() { super.close(); } }
(3)编写dao类,先简单的写一个存储方法和一个查询方法。
package com.example.androidormlitedemo; import java.sql.SQLException; import android.content.Context; import com.j256.ormlite.android.apptools.OpenHelperManager; import com.j256.ormlite.dao.Dao; public class UserDao { private Dao<UserBean, Integer> dao; public UserDao(Context context) { DatabaseHelper dbHelper = OpenHelperManager.getHelper(context, DatabaseHelper.class); try { dao = dbHelper.getDao(UserBean.class); } catch (SQLException e) { e.printStackTrace(); } } // 保存一条用户信息 public void savaUser(UserBean bean) { try { // 如果表中没有该用户则保存,根据主键是否相同来标示是否是同一用户 dao.createIfNotExists(bean); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } //根据id获取用户信息 public UserBean getUserById(int id) { try { return dao.queryForId(id); } catch (SQLException e) { e.printStackTrace(); return null; } } }
(4)使用上面创建的dao来保存一个用户并读取改用户信息,示例代码如下:
package com.example.androidormlitedemo; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView textView = (TextView) findViewById(R.id.text); //模拟创建一个用户信息 UserBean userBean = new UserBean(); userBean.setUid(1); userBean.setUname("张全蛋"); userBean.setAge(25); //创建dao 初次使用的时候表会自动创建,根据UserBean的字段映射成表 UserDao userDao = new UserDao(this); //保存用户到表中 userDao.savaUser(userBean); //从表中查询信息 UserBean userByfind = userDao.getUserById(1); //显示查询的用户名 textView.setText(userByfind.getUname()); } }
(5)完成,运行程序即可。
4.总结,这是ormlite的简单使用,还有更多功能,详细查看官方api,可以下载doc包,或者源码包,如下图:
5.完整Demo下载地址:http://pan.baidu.com/s/1pL3xGaJ
相关文章推荐
- Android 数据库框架ormlite 使用精要
- Android ORM数据库之OrmLite使用框架及源码分析
- Android数据库框架-----ORMLite关联表的使用
- Android 数据库框架ormlite 使用精要
- 在android中使用OrmLite数据库框架
- Android进阶之数据库框架ormlite使用
- Android 数据库框架OrmLite的使用(二)
- 【android】ORMLite框架 的使用方法---给你的数据库操作插上翅膀
- 【Android】在Android上使用OrmLite数据库框架 之 使用表配置文件
- Android使用OrmLite数据库框架 之 基本用法
- 【Android】在Android上使用OrmLite数据库框架 之 使用表配置文件
- Android 数据库框架ormlite 使用精要
- Android 数据库框架ormlite 使用精要
- Android 数据库框架ormlite 使用精要
- Android使用OrmLite数据库框架 之 使用表配置文件
- Android数据库框架-----ORMLite关联表的使用
- Android中数据库操作框架Ormlite介绍与使用
- Android数据库框架-----ORMLite关联表的使用
- 【Android】在Android上使用OrmLite数据库框架 之 基本用法
- Android 数据库框架OrmLite的使用(一)