Android ORMLite的使用

一、下載架包

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

二、定義實體類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中會以類名做爲表名java

@DatabaseField:表示定義了數據中的一個字段android

三、建立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;
    }
}

四、增刪改查

 /************添加數據***************/
//        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();
//        }
相關文章
相關標籤/搜索