数据库开源ormlite

来源:互联网 发布:盐城公务员网络培训 编辑:程序博客网 时间:2024/05/21 07:05
  • 主页: 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
原创粉丝点击