Android ORMLite的使用

1、下载架包

compile files('libs/ormlite-android-4.48.jar')

2、定义实体类Bean,表示一张表

@DatabaseTable(tableName="user")
public class User {
    @DatabaseField(generatedId = true,columnName = "_id")
    private int userID;
    @DatabaseField(columnName = "_name")
    private String name;
    @ForeignCollectionField(eager = false)
    private ForeignCollection<Article> articles;

    public ForeignCollection<Article> getArticles() {
        return articles;
    }

    public void setArticles(ForeignCollection<Article> articles) {
        this.articles = articles;
    }

    User() {

    }

    public int getUserID() {
        return userID;
    }

    public void setUserID(int userID) {
        this.userID = userID;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

@DatabaseTable:表示定义了一个数据表,如果不指定名字,在Android中会以类名作为表名

@DatabaseField:表示定义了数据中的一个字段

Android ORMLite的使用_第1张图片

3、创建DBHelper

class SQLiteHelper extends OrmLiteSqliteOpenHelper {
    private Dao<Article, Integer> personDao = null;
    private Dao<User,Integer> userDao = null;
    public SQLiteHelper(Context context) {
        super(context, "test", null, 1);
    }

    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase, ConnectionSource connectionSource) {
        try {
            TableUtils.createTableIfNotExists(connectionSource,Article.class);
            TableUtils.createTableIfNotExists(connectionSource,User.class);
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, ConnectionSource connectionSource, int i, int i1) {
        try {
            TableUtils.dropTable(connectionSource, Article.class, true);
            TableUtils.dropTable(connectionSource, User.class, true);
            onCreate(sqLiteDatabase, connectionSource);
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public Dao<Article, Integer> getArticleDao() throws SQLException {
        if (personDao == null) {
            personDao = getDao(Article.class);
        }
        return personDao;
    }

    public Dao<User, Integer> getUserDao() throws SQLException {
        if (userDao == null) {
            userDao = getDao(User.class);
        }
        return userDao;
    }
}

4、增删改查

 /************添加数据***************/
//        Person person = new Person();
//        person.setAge(20);
//        person.setName("卢泰桉");
//        person.setBoyFriend("无");
//        person.setGirFriend("aplebana");
//        try {
//            Dao<Person,Integer> createDao = new SQLiteHelper(this).getDataDao();
//            createDao.create(person);
//        } catch (SQLException e) {
//            e.printStackTrace();
//        }
        /************查询数据***************/
//        try {
//            Dao<Person,Integer> personDao = getHelper().getDataDao();
//            QueryBuilder builder = personDao.queryBuilder();
//            builder.where().eq("age", 25).eq("name","baby");
//            List<Person> persons = builder.query();
//            for(Person result:persons) {
//                Log.e("MainActivity",result.getName());
//            }
//        } catch (SQLException e) {
//            e.printStackTrace();
//        }
        /************删除数据***************/
//        try {
//            Dao<Person,Integer> deleteDao = getHelper().getDataDao();
//            DeleteBuilder deleteBuilder = deleteDao.deleteBuilder();
//            deleteBuilder.where().eq("name","黄晓明").or().eq("name","baby");
//            int resultID = deleteBuilder.delete();
//            Log.e("MainActivity", "resultID="+resultID);
//        } catch (SQLException e) {
//            e.printStackTrace();
//        }
        /************修改数据***************/
//        try {
//            Dao<Person,Integer> updataDao = getHelper().getDataDao();
//            UpdateBuilder updataBuilder = updataDao.updateBuilder();
//            updataBuilder.updateColumnValue("name","卢泰桉");
//            updataBuilder.updateColumnValue("age",100);
//            updataBuilder.where().eq("name","lutaian");
//            int resultID = updataBuilder.update();
//            Log.e("MainActivity", "resultID="+resultID);
//        } catch (SQLException e) {
//            e.printStackTrace();
//        }


//        Person person = new Person();
//        person.setAge(20);
//        person.setName("卢泰桉");
//        person.setBoyFriend("无");
//        person.setGirFriend("aplebana");
//        User user = new User();
//        user.setName("作者");
//        user.setPerson(person);
//        user.setSchool("官田中学");
//        try {
//            Dao<User,Integer> userDao = new SQLiteHelper(this).getUserDao();
//            userDao.create(user);
//        } catch (SQLException e) {
//            e.printStackTrace();
//        }



你可能感兴趣的:(Android ORMLite的使用)