还是那句话,经常重复的代码要总结起来
1.首先建一个person实例:
Person.java
package morgen.domain;public class Person { private Integer ID; private String name; private String phone; public Integer getID() { return ID; } public voID setID(Integer ID) { this.ID = ID; } public String getname() { return name; } public voID setname(String name) { this.name = name; } public String getPhone() { return phone; } public voID setPhone(String phone) { this.phone = phone; } public Person(Integer ID,String name,String phone) { this.ID = ID; this.name = name; this.phone = phone; } public Person(String name,String phone) { this.name = name; this.phone = phone; } @OverrIDe public String toString() { return "Person [ID=" + ID + ",name=" + name + ",phone=" + phone + "]"; } }
2.接着创建数据库文件和表
DBOpenHelper.java
package morgen.db;import androID.content.Context;import androID.database.sqlite.sqliteDatabase;import androID.database.sqlite.sqliteOpenHelper;public class DBOpenHelper extends sqliteOpenHelper { public DBOpenHelper(Context context) { super(context,"morgen.db",null,2); } @OverrIDe public voID onCreate(sqliteDatabase db) { db.execsql("CREATE table person(ID integer primary key autoincrement,name varchar(20))"); } @OverrIDe public voID onUpgrade(sqliteDatabase db,int oldVersion,int newVersion) { db.execsql("ALTER table person ADD phone VARCHAR(12) NulL"); }}
3.对数据库进行 *** 作
PersonService.java
package morgen.service;import java.util.ArrayList;import java.util.List;import androID.content.Context;import androID.database.Cursor;import androID.database.sqlite.sqliteDatabase;import morgen.db.DBOpenHelper;import morgen.domain.Person;public class PersonService { private DBOpenHelper dbOpenHelper; public PersonService(Context context){ dbOpenHelper = new DBOpenHelper(context); } /** * 保存数据 * @param person */ public voID save(Person person){ sqliteDatabase db = dbOpenHelper.getWritableDatabase(); db.execsql("insert into person(name,phone) values(?,?)",new Object[]{person.getname(),person.getPhone()}); //db.close(); } /** * 删除记录 * @param ID 记录ID */ public voID delete(Integer ID){ sqliteDatabase db = dbOpenHelper.getWritableDatabase(); db.execsql("delete from person where ID=?",new Object[]{ID}); } /** * 更新记录 * @param person */ public voID update(Person person){ sqliteDatabase db = dbOpenHelper.getWritableDatabase(); db.execsql("update person set name=?,phone=? where ID=?",person.getPhone(),person.getID()}); } /** * 获取记录 * @param ID 记录ID * @return */ public Person find(Integer ID){ sqliteDatabase db = dbOpenHelper.getReadableDatabase(); Cursor cursor = db.rawquery("select * from person where ID=?",new String[]{ID.toString()}); if(cursor.movetoFirst()){ String phone = cursor.getString(cursor.getColumnIndex("phone")); String name = cursor.getString(cursor.getColumnIndex("name")); cursor.close(); return new Person(ID,name,phone); } return null; } /** * 分页获取记录 * @param offset 跳过前面多少条记录 * @param maxResult 每页获取的记录数 * @return */ public List<Person> getScrollData(int offset,int maxResult){ List<Person> persons = new ArrayList<Person>(); sqliteDatabase db = dbOpenHelper.getReadableDatabase(); Cursor cursor = db.rawquery("select * from person order by ID asc limit ?,?",new String[]{String.valueOf(offset),String.valueOf(maxResult)}); while(cursor.movetoNext()){ int ID = cursor.getInt(cursor.getColumnIndex("ID")); String phone = cursor.getString(cursor.getColumnIndex("phone")); String name = cursor.getString(cursor.getColumnIndex("name")); persons.add(new Person(ID,phone)); } cursor.close(); return persons; } /** * 获取记录总数 * @return */ public long getCount(){ sqliteDatabase db = dbOpenHelper.getReadableDatabase(); Cursor cursor = db.rawquery("select count(*) from person",null); cursor.movetoFirst(); long count = cursor.getLong(0); cursor.close(); return count; }}总结
以上是内存溢出为你收集整理的SQLite数据库的添删改查全部内容,希望文章能够帮你解决SQLite数据库的添删改查所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)