ormlite 笔记
添加依赖:
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 笔记相关推荐
- [Android学习系列8]数据库ormlite笔记
一.下载包 http://ormlite.com/ http://ormlite.com/releases/ 把core包 和 android包 build path到项目里 二.参考资料 htt ...
- 正在启动oracle universal,oracle的常见问题与解决
刚接触oracle,在学习过程中遇到了很多的问题,本文章将会收藏我遇到的问题及如何解决. 错误一:ORA-28009:connection as sys should be as sysdba解决方法 ...
- OrmLite 5.3使用笔记
OrmLite 5.3使用笔记 前言 1.下载OrmLite Jar 2.创建Bean类 2.1介绍注解 2.2Bean对象 3.继承 OrmLiteSqliteOpenHelper 4.操作 4.1 ...
- OrmLite使用笔记
OrmLite使用笔记 学习这个查了不少博客 , 特别是鸿洋大神的, 说实话这个并不是很好用, 如果不是有特殊需求的话, 郭霖的LitePal可能对新手来说更简单一些 1. 第一步添加依赖 compi ...
- android模糊检索_【android学习笔记】ormlite学习之模糊搜索like
[目标]实现表中多个字段模糊搜索. [方法]ormlite like方法 :like(columnName,pattern) 使用%通配符来匹配,指定行数据,返回匹配到的结果 使用示范:mDao ...
- Android Ormlite 学习笔记1 -- 基础
Ormlite 是一个开源Java数据实体映射框架.其中依赖2个核心类库: 1.ormlite-android-4.48.jar 2.ormlite-core-4.48.jar 新建项目,引用上面2个 ...
- 安卓学习笔记45:初探开源框架OrmLite
文章目录 一.OrmLite框架 (一)OrmLite框架概述 (二)OrmLite框架官网 二.案例演示 - 操作教师表 (一)运行效果 (二)涉及知识点 (三)实现步骤 1.创建安卓应用[OrmL ...
- android ormlite框架,Android ORMLite框架笔记
一概要: 在Android 项目开发中,如果要使用数据库,向大家介绍一个关于数据的开源框架ORMLite. 提高我们开发数据的效率,特别是对于数据库使用频繁的项目开发. 配置:我们需要去官网下载两个j ...
- 2020年安卓学习笔记目录
文章目录 一.讲课笔记 二.安卓案例 三.安卓实训项目 四.学生安卓学习博客 五.安卓课后作业 (一)界面设计练习 1.制作登录界面 2.制作部队管理界面 3.制作灭火救援界面 4.制作交付界面 5. ...
最新文章
- Ant Design源码分析(三):Wave组件
- server 2008 配置php mysql_Win2008 Server配置PHP环境
- 使用nginx代理跨域,使用nginx代理bing的每日一图
- 腾讯TBS X5 WebView的简单使用
- 锁屏界面显示某些设置已隐藏_iOS 14 隐藏功能,只要轻点手机背面就能截屏
- Python-Pandas之两个Dataframe的差异比较
- 【 批量爬取下载geo.datav.aliyun.com下地图的json文 】
- 福利来了,axure8.1注册码
- 制度罚则-- 线下Bug规范
- 一款红队大量资产指纹探测工具
- dismiss和remove_eliminate, remove, dismiss的区别:新东方考研英语词汇辨析
- 公鸡每只值5文钱,母鸡每只值3文钱,而三只小鸡值一文钱。用100文钱买100只鸡,问:公鸡,母鸡,小鸡各有多少只?
- 解决Allocate exception for servlet XXXServlet
- 微信视频号怎么运营?实操分享我的30个经验
- EOS智能合约开发系列(14): 关于require_auth函数
- 台式启动修复无法自动修复此计算机怎么办,如果win7启动修复无法自动修复此计算机怎么办...
- 美团外卖大数据“杀熟”,程序员成了“接锅侠”,简直不讲武德!
- 手势操作TouchAction
- 你刷我,我刷你,霸榜CLUE甜蜜蜜
- python支持复数类型、以下说法错误的是_Python支持复数类型,以下哪个说法是错误的?...
热门文章
- e_ident_Python线程模块| 带示例的get_ident()方法
- python均值滤波_均值滤波、高斯滤波python实现
- JavaScript入门 放大镜案例 / 单页应用路由开发 Day23
- 重大计算机考研到底难不难,重庆大学考研难吗?一般要什么水平才可以进入?...
- 干货来袭!可能是全网最细的Android-资源加载机制剖析,Android岗
- Windows Server IIS+ARR反向代理(配置反向代理服务器)
- 贪心策略(一)(选择排序、分割平衡串、买卖股票、跳跃游戏)
- Game - datastructure
- 牛客练习赛63 F 牛牛的树行棋 (SG函数+树差分)
- What's the DCOM?