Android所有文章都配视频讲解天花板谈Android开发

Github最火开源项目-ormlite数据库使用

2017-04-06  本文已影响0人  小怪兽打葫芦娃

Android程序员面试宝典

自定义控件

联网

工具

数据库

源码分析相关面试题

Activity相关面试题

Service相关面试题

与XMPP相关面试题

与性能优化相关面试题

与登录相关面试题

与开发相关面试题

与人事相关面试题

微信公众号名称:Android干货程序员

第一步:建立Orm关系。以User.class为例,对应数据库的t_user表。

@DatabaseField(id = true)
private int id;
@DatabaseField(columnName = "name")
private String name;
@DatabaseField(columnName = "balance")
private float balance;
@DatabaseField(columnName = "discount")
private int discount;
@DatabaseField(columnName = "integral")
private int integral;
@DatabaseField(columnName = "phone")
private String phone;

注意事项:

  1.必须要添加无参构造方法;
  2.id=true时id可以由我们自己赋值,如果使用generateId=true,则id由数据库自己维护,自动增长效果,auto increment。

第二步:创建OpenHelper继承OrmLiteOpenHelper,OrmLiteOpenHelper是SQLiteOpenHelper的子类。

第三步:由于OrmLite封装了SQLite,所以不用再拼装SQL语句字段了,直接获取DAO层插入User对象即可。

1.先获取数据库连接:
 AndroidDatabaseConnection connection = new AndroidDatabaseConnection(takeoutOpenHelper.getWritableDatabase(), true);
2.开启事务:
 SavePoint savepoint = connection.setSavePoint("start"); //事务的保存点
 connection.setAutoCommit(false); //事务处理需要手动提交
3.获取DAO层:
    Dao<User,Integer> userDao = takeoutOpenHelper.getDao(User.class);
4.执行增删改插。插入前要判断是否已经有该用户,做防重复处理,所以有两个步骤。
    User oldUser = userDao.queryForId(001);
     if(oldUser!=null){
            userDao.update(user);
            TecentTjSdk.submitUserInfo(false); //老用户登录
            Log.e("login","老用户登录");
        }else{
            userDao.create(user);
            TecentTjSdk.submitUserInfo(true); //新用户登录
            Log.e("login","新用户登录");
        }
5.提交事务。connection.commit(savepoint); 
6.如果出现异常,回滚事务即可。connection.rollback(savepoint);
上一篇下一篇

猜你喜欢

热点阅读