Android Studio 中数据库进行封装使用
UserTable
//创建表
public class UserTable {
public static final String TAB_NAME = "user";
public static final String ID = "id";
public static final String NAME = "name";
public static final String PASSWORD = "password";
public static final String CREATE_TAB = "create table "+TAB_NAME+" ("+ID+" Integer primary key autoincrement,"+NAME+" varchar(30),"+PASSWORD+" varchar(30) );";
}
UserDB 创建数据库
//表的数据库创建
public class UserDB extends SQLiteOpenHelper {
public UserDB(@Nullable Context context) {
super(context,"xiaoming.db",null,1);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(UserTable.CREATE_TAB);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
usertabledao
操作类 (增删改查)
//操作类
public class UserTableDao {
private UserDB mHelper;
public UserTableDao(Context context) {
mHelper = new UserDB(context);
}
//添加用户
public void addUser(UserInfo userInfo) {
//获取数据库对象
SQLiteDatabase db = mHelper.getReadableDatabase();
ContentValues values = new ContentValues();
values.put(UserTable.ID, userInfo.getId());
values.put(UserTable.NAME, userInfo.getName());
values.put(UserTable.PASSWORD, userInfo.getPassword());
db.insert(UserTable.TAB_NAME, null, values);
}
//删除
public int deleteUser(String id) {
if (id == null) {
return -1;
}
SQLiteDatabase db = mHelper.getReadableDatabase();
int deleteId = db.delete(UserTable.TAB_NAME, UserTable.ID + "=?", new String[]{id});
return deleteId;
}
//修改
public int updata(UserInfo userInfo,String id){
if (id == null){
return -1;
}
ContentValues values = new ContentValues();
SQLiteDatabase db = mHelper.getReadableDatabase();
values.put(UserTable.NAME,userInfo.getName());
values.put(UserTable.PASSWORD,userInfo.getPassword());
int updateUser = db.update(UserTable.TAB_NAME, values, id, null);
return updateUser;
}
//查询
public List<UserInfo> getUserMsg() {
List<UserInfo> userInfos = new ArrayList<>();
//获取数据库对象
SQLiteDatabase db = mHelper.getReadableDatabase();
String sqlCheck = "select * from " + UserTable.TAB_NAME;
Cursor cursor = db.rawQuery(sqlCheck, null);
if (cursor != null) {
while (cursor.moveToNext()) {
UserInfo userInfo = new UserInfo();
userInfo.setId(cursor.getString(cursor.getColumnIndex(UserTable.ID)));
userInfo.setName(cursor.getString(cursor.getColumnIndex(UserTable.NAME)));
userInfo.setPassword(cursor.getString(cursor.getColumnIndex(UserTable.PASSWORD)));
userInfos.add(userInfo);
}
cursor.close();
}
return userInfos;
}
}
Model(初始化UserTableDao)
public class Model {
private static Model model = new Model();
private UserTableDao userTableDao;
private Model(){
}
public static Model getInstance(){
return model;
}
//初始化
public void init(Context context){
userTableDao = new UserTableDao(context);
}
public UserTableDao getUserTableDao(){
return userTableDao;
}
}
Application(model进行初始化)
public class MyApplication extends Application {
private static Context context;
@Override
public void onCreate() {
super.onCreate();
context = this;
Model.getInstance().init(context);
}
public static Context getContext(){
return context;
}
}