GreenDao的简单使用
来源:互联网 发布:倩女幽魂有mac版吗 编辑:程序博客网 时间:2024/06/06 02:03
greenDao的配置这里就不介绍了,网上一搜都是,重点写了一个类似于方法的便利调用
断点续传https://www.cnblogs.com/cainiaodongdong/p/7880723.html
User类
@Entitypublic class User { @Id private Long id; @Property private String name; @Property private String age; public String getAge() { return this.age; } public void setAge(String age) { this.age = age; } public String getName() { return this.name; } public void setName(String name) { this.name = name; } public Long getId() { return this.id; } public void setId(Long id) { this.id = id; } @Generated(hash = 1666193281) public User(Long id, String name, String age) { this.id = id; this.name = name; this.age = age; } @Generated(hash = 586692638) public User() { }}
db包
public class DBManager { private final static String dbName="test_db"; private static DBManager mInstance; private DaoMaster.DevOpenHelper openHelper; private Context context; public DBManager(Context context) { this.context = context; openHelper=new DaoMaster.DevOpenHelper(context,dbName,null); }// 单例引用 public static DBManager getInstance(Context context){ if(mInstance==null){ synchronized (DBManager.class){ if(mInstance==null){ mInstance=new DBManager(context); } } } return mInstance; } public SQLiteDatabase getReadableDatabase(){ if(openHelper==null){ openHelper=new DaoMaster.DevOpenHelper(context,dbName,null); } SQLiteDatabase db=openHelper.getReadableDatabase(); return db; } public SQLiteDatabase getWritableDatabase(){ if(openHelper==null){ openHelper=new DaoMaster.DevOpenHelper(context,dbName,null); } SQLiteDatabase db=openHelper.getWritableDatabase(); return db; }}
dao包
public class MyUserDao { Context context; public MyUserDao(Context context) { this.context = context; } //插入一条记录 public void insertUser(User user){ DaoMaster daoMaster=new DaoMaster(DBManager.getInstance(context).getWritableDatabase()); DaoSession daoSession=daoMaster.newSession(); UserDao userDao=daoSession.getUserDao(); userDao.insert(user); } //插入用户集合 public void insertUserList(List<User> users){ if(users==null||users.isEmpty()){ return; } DaoMaster daoMaster=new DaoMaster(DBManager.getInstance(context).getWritableDatabase()); DaoSession daoSession=daoMaster.newSession(); UserDao userDao=daoSession.getUserDao(); userDao.insertInTx(users); } //查询所有用户列表 public List<User> queryUserList(){ DaoMaster daoMaster=new DaoMaster(DBManager.getInstance(context).getReadableDatabase()); DaoSession daoSession=daoMaster.newSession(); UserDao userDao=daoSession.getUserDao(); QueryBuilder<User> qb=userDao.queryBuilder(); List<User> list=qb.list(); return list; } //查询用户列表 public List<User> queryUserList(int age){ DaoMaster daoMaster=new DaoMaster(DBManager.getInstance(context).getReadableDatabase()); DaoSession daoSession=daoMaster.newSession(); UserDao userDao=daoSession.getUserDao(); QueryBuilder<User> qb=userDao.queryBuilder(); qb.where(UserDao.Properties.Age.gt(age)).orderAsc(UserDao.Properties.Age); List<User> list=qb.list(); return list; } //更新一条记录 public void updateUser(User user){ DaoMaster daoMaster=new DaoMaster(DBManager.getInstance(context).getWritableDatabase()); DaoSession daoSession=daoMaster.newSession(); UserDao userDao=daoSession.getUserDao(); userDao.update(user); } //删除一条记录 public void deleteUser(User user){ DaoMaster daoMaster=new DaoMaster(DBManager.getInstance(context).getWritableDatabase()); DaoSession daoSession=daoMaster.newSession(); UserDao userDao=daoSession.getUserDao(); userDao.delete(user); }}
MainActivity
public class MainActivity extends AppCompatActivity { private MyUserDao dao; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); dao = new MyUserDao(this); for (int i = 0; i < 5; i++) { User user=new User(); user.setId(Long.valueOf(i)); user.setAge(i*3+""); user.setName("第"+i+"人"); dao.insertUser(user); } List<User> userList=dao.queryUserList(); for (User user:userList) { Log.e("TAG", "queryUserList--before-->" + user.getId() + "--" + user.getName() +"--"+user.getAge()); if(user.getId()==0){ dao.deleteUser(user); } if(user.getId()==3){ user.setAge(25+""); dao.updateUser(user); } } userList =dao.queryUserList(); for (User user:userList){ Log.e("TAG", "queryUserList--after--->" + user.getId() + "---" + user.getName()+"--"+user.getAge()); } }}
效果图
11-23 11:00:11.639 3477-3477/? E/TAG: queryUserList--before-->0--第0人--011-23 11:00:11.641 3477-3477/? E/TAG: queryUserList--before-->1--第1人--311-23 11:00:11.642 3477-3477/? E/TAG: queryUserList--before-->2--第2人--611-23 11:00:11.642 3477-3477/? E/TAG: queryUserList--before-->3--第3人--911-23 11:00:11.648 3477-3477/? E/TAG: queryUserList--before-->4--第4人--1211-23 11:00:11.650 3477-3477/? E/TAG: queryUserList--after--->1---第1人--311-23 11:00:11.650 3477-3477/? E/TAG: queryUserList--after--->2---第2人--611-23 11:00:11.650 3477-3477/? E/TAG: queryUserList--after--->3---第3人--2511-23 11:00:11.650 3477-3477/? E/TAG: queryUserList--after--->4---第4人--12
阅读全文
0 0
- GreenDAO的简单使用
- GreenDAO的简单使用
- GreenDao的简单使用
- greendao的简单使用
- GreenDao的简单使用
- GreenDao的简单使用
- GreenDao的简单使用
- GreenDao的简单使用
- GreenDao的简单使用
- GreenDao的简单使用
- greendao的简单使用1
- GreenDao的简单使用2
- greenDao的简单使用教程
- GreenDao的使用步骤及简单使用
- GreenDao的配置和简单的使用
- GreenDao的简单使用及其介绍
- greenDAO的简单使用(一)
- greenDAO的简单使用(二)
- int为什么不是2的32次方
- javaEE跨域过滤器
- JVM类加载器详解
- AngularJS 排序
- 原始套接字实现--arp欺骗
- GreenDao的简单使用
- 【第十二周项目2】Kruskal算法的验证
- vue学习总结
- angularjs查询删除 过滤敏感信息
- 多线程下载
- 第十三周项目1---(3)Dijkstra算法的验证
- xUtile获取数据+TabLayout
- 什么是嵌入式?
- 第十三周项目一(4)——验证平衡二叉树相关算法