Android Ormlite 入门
来源:互联网 发布:3dmax下载mac 破解版 编辑:程序博客网 时间:2024/05/17 11:34
Android ORMLite 入门
为了方便项目中数据库的使用,提高开发效率 ,决定引入ORM框架。
先看看ORM是啥。。。
ORM框架
对象-关系映射(OBJECT/RELATIONALMAPPING,简称ORM),是随着面向对象的软件开发方法发展而产生的。用来把对象模型表示的对象映射到基于S Q L 的关系模型数据库结构中去。这样,我们在具体的操作实体对象的时候,就不需要再去和复杂的 SQ L 语句打交道,只需简单的操作实体对象的属性和方法[2] 。O R M 技术是在对象和关系之间提供了一条桥梁,前台的对象型数据和数据库中的关系型的数据通过这个桥梁来相互转化[1] 。
先列出几个ORM框架:ORMLite、greendao、ormndroid、androrm、ActiveAndroid
下载ormLite jar 包
官方有详细的Android的配置的过程,只要下载core 包跟android 包。
在eclipse中新建工程文件,在文件跟目录新建libs文件夹,将下载的ormlite-android-5.0.jar ormlite-core-5.0.jar 拷贝到文件夹中。
在工程properties — Java Build Path 的 Libraries 中引入这两个jar 包。
创建Bean
新建一个包,com.example.ormlitetest.bean 用来存放项目的bean。
代码如下
import com.j256.ormlite.field.DatabaseField;import com.j256.ormlite.table.DatabaseTable;@DatabaseTable(tableName = "tt_user") //表名public class User {@DatabaseField(generatedId = true) //主键ID自动生成private int id;@DatabaseField(columnName = "name") //表的列名private String name;//必须要有一个无参的构造函数 public User(){}public User(String name){ this.name = name;}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;}}
创建Dao
import java.sql.SQLException;import com.example.ormlisttest.bean.User;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 android.content.Context;import android.database.sqlite.SQLiteDatabase;public class DatabaseHelper extends OrmLiteSqliteOpenHelper{ private static final String TABLE_NAME = "sqlite-tt.db"; private Dao<User,Integer> userDao; private DatabaseHelper(Context context){ super(context, TABLE_NAME,null,1); } @Override public void onCreate(SQLiteDatabase arg0, ConnectionSource arg1) { try{ TableUtils.createTable(arg1,User.class); //创建表 }catch (Exception e) { e.printStackTrace(); } } @Override public void onUpgrade(SQLiteDatabase arg0, ConnectionSource arg1, int arg2, int arg3) { try { TableUtils.dropTable(arg1, User.class,true);//删除表 onCreate(arg0, arg1); } catch (Exception e) { e.printStackTrace(); } } //使用单例模式获取help的实例。 private static DatabaseHelper instance; public static synchronized DatabaseHelper getHelper(Context context){ if(instance==null){ synchronized (DatabaseHelper.class) { if(instance==null){ instance = new DatabaseHelper(context); } } } return instance; }//获取User 的Dao public Dao<User,Integer> getUserDao() throws SQLException{ if(userDao == null){ userDao = getDao(User.class); } return userDao; } @Override public void close() { super.close(); userDao = null; }}
测试一下CURD操作
public class MainActivity extends Activity { private TextView mContent; private User u1=new User(); private UserDao mUserDao = new UserDao(this); DatabaseHelper helper = DatabaseHelper.getHelper(this); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mContent = (TextView) findViewById(R.id.tv_content); addData(); } private void addData() { try { u1 = new User("Scott1"); helper.getUserDao().create(u1); u1 = new User("scott2"); helper.getUserDao().create(u1); } catch (SQLException e) { e.printStackTrace(); } User u2 = new User() ; try { u2 = helper.getUserDao().queryForId(1); Log.e("mainActivity", u2.getName()); } catch (SQLException e) { e.printStackTrace(); } mContent.setText(u2.getName()); }}
对CURD的进行一个总结:
添加
helper.getUserDao().create(u1);
helper.getUserDao().createOrUpdate(u1);
helper.getUserDao().createIfNotExists(u1);
删除
helper.getUserDao().deleteById(id); 根据ID删除
helper.getUserDao().delete(user); 根据实体删除
helper.getUserDao().delete(list); 删除集合
helper.getUserDao().deleteIds(ids); 删除集合id
更新
helper.getUserDao().update(new User(1, “katty”)); 更新id指定行的数据
helper.getUserDao().updateId(new User(id, name), 100); 变更指定实体的id
查询
helper.getUserDao().queryForAll(); 返回表中所有条目
helper.getUserDao().queryForId(mId); 根据id 检索一条记录
下一篇博文会对OrmLite 进行详细的讲解。
关注我的微信公众号,每天都有优质技术文章,搞笑GIF图片推送哦。
- android OrmLite 入门
- Android Ormlite 入门
- android OrmLite 入门
- Ormlite入门
- Android ORMLite 框架的入门用法
- Android ORMLite 框架的入门用法
- Android ORMLite框架入门用法教程
- Android ORMLite 框架的入门用法
- Android ORMLite 框架的入门用法
- Android ORMLite 框架的入门用法
- Android ORMLite 框架的入门用法
- Android ORMLite 框架的入门用法
- Android ORMLite 框架的入门用法
- android平台Ormlite框架简易入门笔记
- Android ORMLite 框架的入门用法
- Android ORMLite 框架的入门用法
- Android ORMLite 框架的入门用法
- Android ORMLite 框架的入门用法
- 笔记1
- 搭建spring、springMVC、myBaits框架(二)
- 安装多个版本的JDK配置
- HTTP首部(二)
- Objective-C - 创建对象和调用方法
- Android Ormlite 入门
- Ubuntu启用Root用户登录
- JS基础学习笔记(1)
- 十进制转换成十六进制
- js获取url参数
- 我的2016之第一次
- jdbc mybatis hibernate springJDBC的一些理解
- eclipse, Log4j配置(真心的详细~)
- Nginx Location配置总结