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(); // }