public class User {
public int a;
public String username;
public String password;
public User(int a, String username, String password){
this.a = a;
this.username = username;
this.password = password;
}
public User(){
}
}
建立表的封装
public void mkTable(Class c){
Field[] fields = c.getFields();
StringBuilder mktable = new StringBuilder("create table " +
c.getSimpleName() +
"(_id integer primary key autoincrement");
for (Field field : fields){
switch (field.getType().getName()){
case "int":
mktable.append(',' + field.getName() + " integer");
break;
case "java.lang.String":
mktable.append(',' + field.getName() + " text");
break;
}
}
mktable.append(')');
sqLiteDatabase.execSQL(mktable.toString());
}
//使用
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
mkTable(User.class);
}
辅助查询类 传入:cursor Class 输出:list
private List cursor2list(Cursor cursor, Class c){
List
查询全部的封装
public List getAll(Class c){
Cursor cursor = sqLiteDatabase.rawQuery("select * from " + c.getSimpleName(), null);
return cursor2list(cursor, c);
}
//使用
mySqliteHelper.getAll(User.class);
动态查询的封装
public List query(Class c, String conditions){
String string = "SELECT * from " + c.getSimpleName() + " where ";
string += conditions;
Cursor cursor = sqLiteDatabase.rawQuery(string, null);
return cursor2list(cursor, c);
}
//使用
mySqliteHelper.query(User.class, "username = '18xxxxxxxx7' and password='wewewewe'");
清空数据表的封装
public void clear(Class c){
sqLiteDatabase.execSQL("delete from " + c.getSimpleName());
}
//使用
mySqliteHelper.clear(User.class);
条件删除的封装
public void delete(Class c, String conditions){
String string = "DELETE FROM " + c.getSimpleName() + " where ";
string += conditions;
System.out.println(string);
sqLiteDatabase.execSQL(string);
}
//使用
mySqliteHelper.delete(User.class, "username = '18xxxxxxxx7' and password='wewewewe'");
public interface IStack<T> {
//元素出栈,并返回出栈元素
public T pop();
//元素入栈
public void push(T element);
//获取栈顶元素
public T peek();
//判断栈是否为空
public boolean isEmpty