Ormlite开源数据库框架
来源:互联网 发布:mac word文件丢失 编辑:程序博客网 时间:2024/04/30 15:56
@DatabaseTable(tableName = "INDEX_READ_TABLE", daoClass = PersonDao.class)public class Person implements Parcelable, Serializable {// id is generated by the database and set on the object automagically@DatabaseField(generatedId = true)private int id;@DatabaseFieldprivate String name;@DatabaseFieldprivate String sex;@DatabaseFieldprivate int age;public Person() {// TODO Auto-generated constructor stub}public Person(String name, String sex, int age) {super();this.name = name;this.sex = sex;this.age = age;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public int describeContents() {// TODO Auto-generated method stubreturn 0;}public void writeToParcel(Parcel dest, int flags) {// TODO Auto-generated method stubdest.writeString(name);dest.writeString(sex);dest.writeInt(age);dest.writeInt(id);}}
public class PersonDao extends BaseDaoImpl<Person, Integer>{public PersonDao(Class<Person> dataClass) throws SQLException {super(dataClass);// TODO Auto-generated constructor stub}public PersonDao(DatabaseHelper helper) throws SQLException{super(helper.getConnectionSource(), Person.class);}public PersonDao(ConnectionSource connectionSource, Class<Person> dataClass)throws SQLException {super(connectionSource, dataClass);// TODO Auto-generated constructor stub}public PersonDao(ConnectionSource connectionSource,DatabaseTableConfig<Person> tableConfig) throws SQLException {super(connectionSource, tableConfig);// TODO Auto-generated constructor stub}public long queryCount(long _Id) throws SQLException {QueryBuilder<Person, Integer> queryBuilder = queryBuilder(); Where<Person, Integer> where = queryBuilder.where(); queryBuilder.setCountOf(true); where.eq("id", _Id); where.and(); return countOf(queryBuilder.prepare());}public List<Person> queryList(long _Id) throws SQLException {QueryBuilder<Person, Integer> queryBuilder = queryBuilder(); Where<Person, Integer> where = queryBuilder.where(); where.eq("id", _Id); where.and(); queryBuilder.orderBy("id", true); return query(queryBuilder.prepare());}}
public class DatabaseHelper extends OrmLiteSqliteOpenHelper {private Dao<Person, Integer> personDao = null; /** * 鏋勯?鍑芥暟 * * @param context */ public DatabaseHelper(Context context) { super(context,"person", null, 1); } /** * 鍒濆鍖栨搷浣滐細寤鸿〃 * * @see com.j256.ormlite.android.apptools.OrmLiteSqliteOpenHelper#onCreate(android.database.sqlite.SQLiteDatabase, * com.j256.ormlite.support.ConnectionSource) */ @Override public void onCreate(SQLiteDatabase db, ConnectionSource connectionSource) { createTables(db, connectionSource); } @Override public void onUpgrade(SQLiteDatabase db, ConnectionSource connectionSource, int oldVersion, int newVersion) { if (newVersion <= oldVersion) {return;}db.delete("DEMO_TABLE", null, null);db.delete("MYPHOTO_LIST_TABLE", null, null);db.delete("POST_DRAFT_TABLE" , null, null);db.delete("UPLOAD_IMAGE_TABLE", null, null);db.delete("INDEX_READ_TABLE", null, null);createTables(db, connectionSource); } private void createTables(SQLiteDatabase db, ConnectionSource connectionSource) { try { TableUtils.createTableIfNotExists(connectionSource, Person.class); } catch (SQLException e) { e.printStackTrace(); } } public Dao<Person, Integer> getPersonDataDao() throws SQLException {if (personDao == null) {personDao = getDao(Person.class);}return personDao;}}
public class MainActivity extends Activity{private com.example.helloandroid.data.DatabaseHelper databaseHelper = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);TextView tv = new TextView(this);StringBuilder sb = new StringBuilder();sb.append("person1 1,joy,boy,22");PersonDao dao = null;try {dao = new PersonDao(getHelper());dao.create(new Person("joy", "boy", 22));sb.append("\nperson2 2,kim,girl,21");dao.create(new Person("kim", "girl", 21));} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}sb.append("\n this db data is:");try {List<Person> lists = dao.queryList(1);for(Person p : lists){sb.append("\n"+p.getId()+"::"+p.getName()+"::"+p.getSex()+"::"+p.getAge());}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}tv.setText(sb);setContentView(tv);}@Overrideprotected void onDestroy() {super.onDestroy();/* * You'll need this in your class to release the helper when done. */if (databaseHelper != null) {OpenHelperManager.releaseHelper();databaseHelper = null;}}/** * You'll need this in your class to get the helper from the manager once per class. */private com.example.helloandroid.data.DatabaseHelper getHelper() {if (databaseHelper == null) {databaseHelper = OpenHelperManager.getHelper(this, com.example.helloandroid.data.DatabaseHelper.class);<span style="color:#ff0000;">//在第一次调用这句的时候会创建数据库表,第二次打开应用时不再会创建数据库表,这个可以再logcat观察到</span>}return databaseHelper;}}
上面是我的代码,下面是别人一篇参考文章
http://blog.csdn.net/yzzst/article/details/9359271
0 0
- Ormlite开源数据库框架
- 数据库开源ormlite
- 开源框架-ormlite-android数据库的使用
- Android数据库ORMlite框架
- Android数据库ORMlite框架
- Android 数据库框架ormlite
- Android数据库框架ORMLite
- OrmLite框架操作数据库
- Android数据库ORMlite框架详解
- Android Ormlite数据库框架解析
- 安卓ORMLite数据库框架
- Android 数据库框架ormlite(一)
- android数据库持久化框架, ormlite框架,
- 数据库框架-ormlite和测试框架-junit
- Android数据库ORMlite框架翻译系列
- Android 数据库框架ormlite 使用精要
- Android 数据库框架ormlite 使用精要
- Android数据库ORMLite框架的注解
- Lua 模拟类的操作
- Oracle Statistic 统计信息 小结
- 如何使用Git上传项目代码到代码服务器
- Python-操作Excel
- Python基础编程(九)魔法方法、属性和迭代器
- Ormlite开源数据库框架
- 12.3
- POJ 2329 (暴力+搜索bfs)
- textarea计算输入字符大小并限制输入
- 算法学习十八----寻找发帖水王
- leetcode Largest Rectangle in Histogram
- 3.1 创建线程执行器
- OpenCV_读取文件夹下的图片生成视频文件
- UML视图(五)活动图