case R.id.add:
Person item=
new Person(
null,
"wang",
"18");
PersonHelper.getInstance(
this).addInfo(item);
break;
case R.id.delete:
PersonHelper.getInstance(
this).deleteInfo(
1);
break;
case R.id.delete_table:
PersonHelper.getInstance(
this).clearInfo();
break;
case R.id.update:
Person item2=
new Person((
long)
1,
"up",
"10");
PersonHelper.getInstance(
this).updateInfo(item2);
break;
case R.id.query:
String name=PersonHelper.getInstance(
this).getTypeValue(
1);
text.setText(name);
break;
case R.id.query_list:
List<Person> list = PersonHelper.getInstance(
this).getInfoList2();
Person person =
new Person();
StringBuilder
str =
new StringBuilder();
for(
int i=
0;i<list.size();i++){
person=list.get(i);
String names=person.getName();
String ages=person.getAge();
Long id=person.getId();
str.append(names+id+
"");
System.out.println(
"---查询---->"+names + id+
"");
}
if(TextUtils.isEmpty(
str)){
text.setText(
"没有数据");
}
else{
text.setText(
str);
}
break;
case R.id.query_have:
boolean flag=PersonHelper.getInstance(
this).isHave(
1);
if(flag==
true){
text.setText(
"true");
}
else{
text.setText(
"false");
}
break;
}
import android.content.Context;
import com.example.greendaos_dao.DaoMaster;
import com.example.greendaos_dao.DaoMaster.OpenHelper;
import com.example.greendaos_dao.DaoSession;
public class DbHelper {
private static DaoMaster daoMaster;
private static DaoSession daoSession;
public DbHelper() {
}
/**
* 取得DaoMaster
*
* @param context
* @return
*/
public static DaoMaster
getDaoMaster(Context context)
{
if (daoMaster ==
null)
{
OpenHelper helper =
new DaoMaster.DevOpenHelper(context,
"my_db",
null);
daoMaster =
new DaoMaster(helper.getWritableDatabase());
}
return daoMaster;
}
/**
* 取得DaoSession
*
* @param context
* @return
*/
public static DaoSession
getDaoSession(Context context)
{
if (daoSession ==
null)
{
if (daoMaster ==
null)
{
daoMaster = getDaoMaster(context);
}
daoSession = daoMaster.newSession();
}
return daoSession;
}
}
import java.util.List;
import java.util.Map;
import com.example.greendaos_dao.DaoSession;
import com.example.greendaos_dao.Person;
import com.example.greendaos_dao.PersonDao;
import com.example.greendaos_dao.PersonDao.Properties;
import de.greenrobot.dao.query.DeleteQuery;
import de.greenrobot.dao.query.QueryBuilder;
import android.content.Context;
public class PersonHelper {
private static Context mContext;
private static PersonHelper instance;
private PersonDao personDao;
public PersonHelper() {
}
public static PersonHelper
getInstance(Context context)
{
if (instance ==
null)
{
instance =
new PersonHelper();
if (mContext ==
null)
{
mContext = context;
}
DaoSession daoSession = DbHelper.getDaoSession(mContext);
instance.personDao = daoSession.getPersonDao();
}
return instance;
}
/** 添加数据 */
public void addInfo(Person item)
{
personDao.insert(item);
}
/** 删除 一条数据,根据id删除 */
public void deleteInfo(
int Id){
personDao.deleteByKey((
long) Id);
}
/** 删除 可修改变成删除一组数据 */
public void deleteInfoList(
int id)
{
QueryBuilder<Person> qb = personDao.queryBuilder();
DeleteQuery<Person> bd = qb.where(Properties.Id.eq(id)).buildDelete();
bd.executeDeleteWithoutDetachingEntities();
}
/** 删除表内所有数据*/
public void clearInfo()
{
personDao.deleteAll();
}
/** 修改*/
public void updateInfo(Person item){
personDao.insertOrReplace(item);
}
/** 多条数据查询 */
public List<Person>
getInfoList1()
{
QueryBuilder<Person> qb = personDao.queryBuilder();
return qb.list();
}
/** 查询 获取整个表的数据集合,一句代码就搞定!*/
public List<Person>
getInfoList2()
{
return personDao.loadAll();
}
/** 查询某个Id是否存在 */
public boolean isHave(
int Id)
{
QueryBuilder<Person> qb = personDao.queryBuilder();
qb.where(Properties.Id.eq(Id));
qb.buildCount().count();
return qb.buildCount().count() >
0 ?
true :
false;
}
/**单条查询 通过id查找其类型字段值 */
public String
getTypeValue(
int id)
{
QueryBuilder<Person> qb = personDao.queryBuilder();
qb.where(Properties.Id.eq(id));
if (qb.list().size() >
0)
{
return qb.list().get(
0).getName();
}
else
{
return "0";
}
}
/** 多条件重查询 */
public List<Person>
getTJList(
int id)
{
QueryBuilder<Person> qb = personDao.queryBuilder();
qb.where(qb.and(Properties.Id.eq(id), Properties.Age.eq(
20)));
qb.orderAsc(Properties.Id);
return qb.list();
}
}
转载请注明原文地址: https://ju.6miu.com/read-970168.html