数据库开源ormlite

  • 主页: http://ormlite.com/
  • 配置: 添加以下依赖
    • compile ‘com.j256.ormlite:ormlite-android:4.48’
    • compile ‘com.j256.ormlite:ormlite-core:4.48’
  • 用途: 操作数据库
  • 使用步骤

    1. 创建数据库表结构的实体类.示例代码:

      @DatabaseTable(tableName = "user")
      public class User {
          @DatabaseField(generatedId = true)
          private int id;
          @DatabaseField(columnName = "name")
          private String name;
          @DatabaseField(columnName = "age")
          private int age;
          @DatabaseField(columnName = "tel")
          private String tel;
          public User() {
          }
          public User(String name, int age, String tel) {
              this.name = name;
              this.age = age;
              this.tel = tel;
          }
      }
      
    2. 创建OrmLiteSqliteOpenHelper的实现类.示例代码:

      public class UserDBOpenHelper extends OrmLiteSqliteOpenHelper {
          public UserDBOpenHelper(Context context) {
              super(context, "user.db", null, 1);
          }
          @Override
          public void onCreate(SQLiteDatabase database, ConnectionSource connectionSource) {
              try {
                  // 创建表
                  TableUtils.createTable(connectionSource, User.class);
              } catch (SQLException e) {
                  e.printStackTrace();
              }
          }
          @Override
          public void onUpgrade(SQLiteDatabase database, ConnectionSource connectionSource, int oldVersion, int newVersion) {
              try {
                  // 更新表
                  TableUtils.dropTable(connectionSource, User.class, true);
                  onCreate(database, connectionSource);
              } catch (SQLException e) {
                  e.printStackTrace();
              }
          }
          private static UserDBOpenHelper instance;
      
          public static synchronized UserDBOpenHelper getInstance(Context context) {
              if (instance == null) {
                  synchronized (UserDBOpenHelper.class) {
                      if (instance == null) {
                          instance = new UserDBOpenHelper(context);
                      }
                  }
              }
              return instance;
          }
      
          private Dao<User, Integer> dao;
          // 获取操作数据库的DAO
          public Dao<User, Integer> getUserDao() throws SQLException {
              if (dao == null) {
                  dao = getDao(User.class);
              }
              return dao;
          }
      
          @Override
          public void close() {
              super.close();
              dao = null;
          }
      }
      
    3. 获取数据库的DAO对象, 即可进行增删改查的操作.示例代码:

      UserDBOpenHelper helper = new UserDBOpenHelper(this);
      Dao<User, Integer> dao =  helper.getUserDao();
      User user = new User("zhangsan", 12, "13212345678");
      // 增
      dao.create(user);
      // 改
      dao.updateRaw("update user set tel = '18882348888' where name = ?", new String[]{"王武"});
      // 查
      List<User> query = dao.queryForEq("name", "王武");
      // 删
      dao.deleteById(2);
      
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值