SQLite 的使用(一)
发布时间:2020-12-12 19:30:42 所属栏目:百科 来源:网络整理
导读:最近项目不是很忙,刚好在看代码的时候,看到了数据库这一块,感觉好长时间没用,也都忘记了,也就顺便复习一下。 由于android中google给我们提供了 SQLiteOpenHelper 这个类来帮助我们操作数据库,所以我们第一步自然是要继承这个类: public class DBHtlpe
最近项目不是很忙,刚好在看代码的时候,看到了数据库这一块,感觉好长时间没用,也都忘记了,也就顺便复习一下。 由于android中google给我们提供了SQLiteOpenHelper这个类来帮助我们操作数据库,所以我们第一步自然是要继承这个类:
public class DBHtlper extends SQLiteOpenHelper { public DBHtlper(Context context,String name,SQLiteDatabase.CursorFactory factory,int version) { super(context,name,factory,version); } @Override public void onCreate(SQLiteDatabase sqLiteDatabase) { //创建一个表,id 主键,自动增长 username、password 字符类型 String sql = "create table user(id integer primary key autoincrement,username varchar(20) not null,password varchar(20) not null);"; sqLiteDatabase.execSQL(sql); } @Override public void onUpgrade(SQLiteDatabase sqLiteDatabase,int i,int i1) { sqLiteDatabase.execSQL("DROP TABLE IF EXISTS user"); onCreate(sqLiteDatabase); } }主要重写oncreate和onupgrade这两个方法,oncreate一般用于创建数据库表,onupgrade主要用于数据库升级的操作。还必须要重写4个参数的构造函数,第一个参数是Context上下文,第二个参数是创建数据库的时候,数据库的名称, 第三个参数CursorFactory指定在执行查询时获得一个游标实例的工厂类, 设置为null,代表使用系统默认的工厂类,第四个参数是数据库的版本。 然后创建一个SQL帮助类,分别执行增、删、改、查的操作:
<span style="font-family:SimSun;font-size:14px;"> public SQLiteUtils(Context context) { //创建数据库Person.db dbHtlper = new DBHtlper(context,"Person.db",null,1); } /** * 插入数据 * * @param user */ public void insertData(User user) { String sql = "insert into user(username,password) values(?,?)"; //获得数据库的操作 SQLiteDatabase database = dbHtlper.getWritableDatabase(); database.execSQL(sql,new Object[]{user.getUsername(),user.getPassword()}); database.close(); } /** * 更新数据 * * @param user */ public void updateData(User user) { String sql = "update user set username = ?,password = ? where id = ?"; SQLiteDatabase database = dbHtlper.getWritableDatabase(); database.execSQL(sql,user.getPassword(),user.getId()}); database.close(); } /** * 删除数据 * * @param user */ public void deleteData(User user) { String sql = "delete from user where id = ? or username = ?"; SQLiteDatabase database = dbHtlper.getWritableDatabase(); database.execSQL(sql,new Object[]{user.getId(),user.getUsername()}); database.close(); } /** * 查询 */ public User selectData(String userName) { User user = null; String sql = "select * from user where username like ?"; SQLiteDatabase database = dbHtlper.getReadableDatabase(); Cursor cursor = database.rawQuery(sql,new String[]{"%"+userName+"%"}); while (cursor.moveToNext()) {//只取第一条 user = new User(); user.setId(cursor.getInt(cursor.getColumnIndex("id"))); user.setUsername(cursor.getString(cursor.getColumnIndex("username"))); user.setPassword(cursor.getColumnName(cursor.getColumnIndex("password"))); database.close(); return user; } return user; }</span>然后就可以直接调用啦!就这么简单~ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |