compile files('libs/ormlite-android-4.48.jar')
@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
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(); // }