基于Android java实现创建DAO类对Sqlite数据库的增删改查操作进行封装,给出其中User类的源码
时间: 2024-03-24 17:41:33 浏览: 26
好的,下面是基于Android Java实现创建DAO类对SQLite数据库的增删改查操作进行封装,其中User类的源码:
```java
public class User {
private int id;
private String username;
private String password;
public User() {}
public User(int id, String username, String password) {
this.id = id;
this.username = username;
this.password = password;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
```
DAO类的实现:
```java
public class UserDao {
private SQLiteDatabase db;
public UserDao(Context context) {
DatabaseHelper dbHelper = new DatabaseHelper(context);
db = dbHelper.getWritableDatabase();
}
public void add(User user) {
ContentValues values = new ContentValues();
values.put("username", user.getUsername());
values.put("password", user.getPassword());
db.insert("user", null, values);
}
public void delete(int id) {
db.delete("user", "id=?", new String[]{String.valueOf(id)});
}
public void update(User user) {
ContentValues values = new ContentValues();
values.put("username", user.getUsername());
values.put("password", user.getPassword());
db.update("user", values, "id=?", new String[]{String.valueOf(user.getId())});
}
public User queryById(int id) {
Cursor cursor = db.query("user", null, "id=?", new String[]{String.valueOf(id)}, null, null, null);
User user = null;
if (cursor.moveToFirst()) {
user = new User();
user.setId(cursor.getInt(cursor.getColumnIndex("id")));
user.setUsername(cursor.getString(cursor.getColumnIndex("username")));
user.setPassword(cursor.getString(cursor.getColumnIndex("password")));
}
cursor.close();
return user;
}
public List<User> queryAll() {
List<User> userList = new ArrayList<>();
Cursor cursor = db.query("user", null, null, null, null, null, null);
while (cursor.moveToNext()) {
User user = new User();
user.setId(cursor.getInt(cursor.getColumnIndex("id")));
user.setUsername(cursor.getString(cursor.getColumnIndex("username")));
user.setPassword(cursor.getString(cursor.getColumnIndex("password")));
userList.add(user);
}
cursor.close();
return userList;
}
}
```
其中,DatabaseHelper类是一个继承自SQLiteOpenHelper的辅助类,用于创建和更新数据库:
```java
public class DatabaseHelper extends SQLiteOpenHelper {
public DatabaseHelper(Context context) {
super(context, "mydb.db", null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table user(id integer primary key autoincrement, username varchar(20), password varchar(20))");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("drop table if exists user");
onCreate(db);
}
}
```
以上代码实现了User类的增删改查,同时对SQLite数据库的操作进行了封装,使得使用更加方便。