添加依赖:

compile 'com.j256.ormlite:ormlite-android:5.0'

使用

常用注解:

@DatabaseTable(tableName = "t_user") //指定实体和表的一一对应关系

@DatabaseField()   //指定属性和表中的列的一一对应关系

常用配置说明:

主键: id = true

自增主键: generateId = true

是否为空: canBeNull = false

列明:columnName  = “name"

外键:forein = true

示例:

@DatabaseTable(tableName = "t_address")
public class AddressBean {
    @DatabaseField(id = true)
    private int _id;
    @DatabaseField(canBeNull = false)
    private String goodsAddress;
    @DatabaseField(canBeNull = false)
    private String village;
    @DatabaseField(canBeNull = false,foreign = true,columnName = "user_id",foreignColumnName = "_id")
    private UserBean user;

}

@DatabaseTable(tableName = "t_user")
public class UserBean {
    @DatabaseField(id = true)
    private int _id;

@ForeignCollectionField(eager = true)
private ForeignCollection<AddressBean> addressList;

}

DBHelper管理

与原生DBHelper相同,主要负责数据库的创建和表的维护。需要继承OrmLiteSqliteOpenHelper类。

使用工具:TableUtils完成表的相关操作,如创建、清空、删除

示例:

public class DBHelp extends OrmLiteSqliteOpenHelper{public DBHelp(Context context, String databaseName, SQLiteDatabase.CursorFactory factory, int
            databaseVersion) {super(context, databaseName, factory, databaseVersion);
    }@Override
    public void onCreate(SQLiteDatabase database, ConnectionSource connectionSource) {try {TableUtils.createTable(connectionSource, UserBean.class);
            TableUtils.createTable(connectionSource, AddressBean.class);
        } catch (SQLException e) {e.printStackTrace();
        }}@Override
    public void onUpgrade(SQLiteDatabase database, ConnectionSource connectionSource, int
            oldVersion, int newVersion) {}
}

测试:(注意上下文Context的获取)

InstrumentationRegistry.getTargetContext()
@Test
public void testDBHelp() {DBHelp dbHelp = new DBHelp(InstrumentationRegistry.getTargetContext(), "take.db", null, 1);
    dbHelp.getWritableDatabase();
}@Test
public void testCreateUserTable() throws SQLException {DBHelp dbHelp = new DBHelp(InstrumentationRegistry.getTargetContext(), "take.db", null, 1);
    Dao<UserBean, Integer> dao = dbHelp.getDao(UserBean.class);

    UserBean userBean1 = new UserBean();
    userBean1.setId(1);
    userBean1.setName("张三");
    dao.create(userBean1);

    UserBean userBean2 = new UserBean();
    userBean2.setId(2);
    userBean2.setName("李四");
    dao.create(userBean2);

}@Test
public void testCreateAddressTable() throws SQLException {DBHelp dbHelp = new DBHelp(InstrumentationRegistry.getTargetContext(), "take.db", null, 1);
    Dao<AddressBean, Integer> dao = dbHelp.getDao(AddressBean.class);

    UserBean userBean = new UserBean();
    userBean.setId(2);
    userBean.setName("李四");
    for (int i = 0; i < 10; i++) {AddressBean addressBean = new AddressBean();
        addressBean.setId(i);
        addressBean.setGoodsAddress("商品地址"+i);
        addressBean.setHome("收货地址"+i);
        addressBean.setUser(userBean);
        dao.create(addressBean);
    }
}

ormlite 笔记相关推荐

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

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

  2. 正在启动oracle universal,oracle的常见问题与解决

    刚接触oracle,在学习过程中遇到了很多的问题,本文章将会收藏我遇到的问题及如何解决. 错误一:ORA-28009:connection as sys should be as sysdba解决方法 ...

  3. OrmLite 5.3使用笔记

    OrmLite 5.3使用笔记 前言 1.下载OrmLite Jar 2.创建Bean类 2.1介绍注解 2.2Bean对象 3.继承 OrmLiteSqliteOpenHelper 4.操作 4.1 ...

  4. OrmLite使用笔记

    OrmLite使用笔记 学习这个查了不少博客 , 特别是鸿洋大神的, 说实话这个并不是很好用, 如果不是有特殊需求的话, 郭霖的LitePal可能对新手来说更简单一些 1. 第一步添加依赖 compi ...

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

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

  6. Android Ormlite 学习笔记1 -- 基础

    Ormlite 是一个开源Java数据实体映射框架.其中依赖2个核心类库: 1.ormlite-android-4.48.jar 2.ormlite-core-4.48.jar 新建项目,引用上面2个 ...

  7. 安卓学习笔记45:初探开源框架OrmLite

    文章目录 一.OrmLite框架 (一)OrmLite框架概述 (二)OrmLite框架官网 二.案例演示 - 操作教师表 (一)运行效果 (二)涉及知识点 (三)实现步骤 1.创建安卓应用[OrmL ...

  8. android ormlite框架,Android ORMLite框架笔记

    一概要: 在Android 项目开发中,如果要使用数据库,向大家介绍一个关于数据的开源框架ORMLite. 提高我们开发数据的效率,特别是对于数据库使用频繁的项目开发. 配置:我们需要去官网下载两个j ...

  9. 2020年安卓学习笔记目录

    文章目录 一.讲课笔记 二.安卓案例 三.安卓实训项目 四.学生安卓学习博客 五.安卓课后作业 (一)界面设计练习 1.制作登录界面 2.制作部队管理界面 3.制作灭火救援界面 4.制作交付界面 5. ...

最新文章

  1. Ant Design源码分析(三):Wave组件
  2. server 2008 配置php mysql_Win2008 Server配置PHP环境
  3. 使用nginx代理跨域,使用nginx代理bing的每日一图
  4. 腾讯TBS X5 WebView的简单使用
  5. 锁屏界面显示某些设置已隐藏_iOS 14 隐藏功能,只要轻点手机背面就能截屏
  6. Python-Pandas之两个Dataframe的差异比较
  7. 【 批量爬取下载geo.datav.aliyun.com下地图的json文 】
  8. 福利来了,axure8.1注册码
  9. 制度罚则-- 线下Bug规范
  10. 一款红队大量资产指纹探测工具
  11. dismiss和remove_eliminate, remove, dismiss的区别:新东方考研英语词汇辨析
  12. 公鸡每只值5文钱,母鸡每只值3文钱,而三只小鸡值一文钱。用100文钱买100只鸡,问:公鸡,母鸡,小鸡各有多少只?
  13. 解决Allocate exception for servlet XXXServlet
  14. 微信视频号怎么运营?实操分享我的30个经验
  15. EOS智能合约开发系列(14): 关于require_auth函数
  16. 台式启动修复无法自动修复此计算机怎么办,如果win7启动修复无法自动修复此计算机怎么办...
  17. 美团外卖大数据“杀熟”,程序员成了“接锅侠”,简直不讲武德!
  18. 手势操作TouchAction
  19. 你刷我,我刷你,霸榜CLUE甜蜜蜜
  20. python支持复数类型、以下说法错误的是_Python支持复数类型,以下哪个说法是错误的?...

热门文章

  1. e_ident_Python线程模块| 带示例的get_ident()方法
  2. python均值滤波_均值滤波、高斯滤波python实现
  3. JavaScript入门 放大镜案例 / 单页应用路由开发 Day23
  4. 重大计算机考研到底难不难,重庆大学考研难吗?一般要什么水平才可以进入?...
  5. 干货来袭!可能是全网最细的Android-资源加载机制剖析,Android岗
  6. Windows Server IIS+ARR反向代理(配置反向代理服务器)
  7. 贪心策略(一)(选择排序、分割平衡串、买卖股票、跳跃游戏)
  8. Game - datastructure
  9. 牛客练习赛63 F 牛牛的树行棋 (SG函数+树差分)
  10. What's the DCOM?