GreenDao依赖配置:
配置GreenDao:
1:在Project添加依赖:
classpath 'org.greenrobot:greendao-gradle-plugin:3.2.1'
2:在Model中添加依赖:
compile 'org.greenrobot:greendao:3.2.0'
应用插件:
apply plugin: 'org.greenrobot.greendao'
2.3:在Model中添加:
greendao {
schemaVersion 1
daoPackage 'bawei.coom.myapplication'
targetGenDir 'src/main/java'
}
3:实体类都要加上注解 @Entity
首先初始化数据库:
import android.app.Application; import android.database.sqlite.SQLiteDatabase; import bawei.com.myapplication.gen.DaoMaster; import bawei.com.myapplication.gen.DaoSession; public class MyApp extends Application { private static DaoSession daoSession; @Override public void onCreate() { super.onCreate(); //配置数据库 setupDatabase(); } /* * * 配置数据库 * */ private void setupDatabase() { //创建数据库 shop.dp DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(this, "shop.dp", null); //获取可写数据库 SQLiteDatabase db = helper.getWritableDatabase(); //获取数据库对象 DaoMaster master = new DaoMaster(db); //获取Dao对象管理者 daoSession = master.newSession(); } /* * 返回DaoSession * */ public static DaoSession getSession(){ return daoSession; } }
LOVeDao(增,删,改,查):
import android.util.Log; import java.util.List; import bawei.com.myapplication.bean.User; import bawei.com.myapplication.gen.UserDao; public class LoveDao { private static String name1; private static long age1; private static String sex1; /* * 添加数据 * */ public static void getInsert(){ User user = new User(); user.setName("李四"); user.setAge(18); user.setSex("男"); MyApp.getSession().getUserDao().insertOrReplace(user); User user1 = new User(null,"那个女孩",20,"女"); MyApp.getSession().getUserDao().insertOrReplace(user1); } /* * * 查询全部数据 * */ public static void getQuery(){ List<User> users = MyApp.getSession().getUserDao().loadAll(); for (int i = 0; i <users.size() ; i++) { String name = users.get(i).getName(); long age = users.get(i).getAge(); String sex = users.get(i).getSex(); Log.d("哈哈1", "getQuery: "+name+" "+age+" "+sex ); } } /* * 根据name查询数据 * * */ public static void getQuery1(String name){ List<User> list = MyApp.getSession().getUserDao().queryBuilder().where(UserDao.Properties.Name.eq(name)).build().list(); for (int i = 0; i <list.size() ; i++) { name1 = list.get(i).getName(); age1 = list.get(i).getAge(); sex1 = list.get(i).getSex(); } Log.d("滚", "getQuery: "+name1+" "+age1+" "+sex1 ); } /* * * 删除一条数据 * */ public static void getDelete(User user){ MyApp.getSession().getUserDao().delete(user); } /* *删除全部的方法 * */ public static void getDeleteAll(){ MyApp.getSession().getUserDao().deleteAll(); } /* * * 修改数据 * */ public static void getUpdate(User user){ MyApp.getSession().getUserDao().update(user); } } MainActivity:import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import bawei.com.myapplication.bean.User; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //删除全部的方法 LoveDao.getDeleteAll(); //添加数据 LoveDao.getInsert(); //查询全部的方法 LoveDao.getQuery(); //根据name查询方法 LoveDao.getQuery1("那个女孩"); //根据值删除一条数据 User user1=new User((long) 1,"",0,""); LoveDao.getDelete(user1); //修改数据 User user = new User((long) 5, "王五",25,"男"); LoveDao.getUpdate(user); } }