GreenDao的使用
来源:互联网 发布:nginx 500错误日志 编辑:程序博客网 时间:2024/06/03 09:20
1.
配置两个依赖
compile 'de.greenrobot:greendao:2.1.0'
compile 'de.greenrobot:greendao-generator:2.1.0'
2.
创建自定义的DAOGenerater,指定数据库相关配置并生成相关类
public class CustomDAOGenerater {
public static void main(String[] args) throws Exception {
// 第一个参数为数据库版本
//第二个参数为数据库的包名
Schema schema = new Schema(1, "com.example.greendao");// 生成的文件夹
// 创建表,参数为表名
Entity entity = schema.addEntity("Info");//生成类,类名
// 为表添加字段
entity.addIdProperty();// 该字段为id
entity.addStringProperty("name");// String类型字段
entity.addIntProperty("age");//Int类型字段
entity.addStringProperty("tel");// String类型字段
// 生成数据库相关类
//第二个参数指定生成文件的本次存储路径,AndroidStudio工程指定到当前工程的java路径
new DaoGenerator().generateAll(schema, "C:\\Users\\Alpha\\AndroidStudioProjects\\GreenDaoDemo\\app\\src\\main\\java");
}
}
创建数据库
DaoMaster.OpenHelper helper =new DaoMaster.DevOpenHelper(this,"Student.db",null);
SQLiteDatabase database=helper.getWritableDatabase();
DaoMaster master=new DaoMaster(database);
DaoSession session = master.newSession();
dao=session.getStudentDao();
3.在需要的情况下以单例的形势写一个数据库的管理类
public class DBManager {
private final static String dbName = "user.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);
}
/**
* 获取单例引用
*
* @param context
* @return
*/
public static DBManager getInstance(Context context) {
if (mInstance == null) {
synchronized (DBManager.class) {
if (mInstance == null) {
mInstance = new DBManager(context);
}
}
}
return mInstance;
}
/**
* 获取可写数据库
*/
private SQLiteDatabase getWritableDatabase() {
if (openHelper == null) {
openHelper = new DaoMaster.DevOpenHelper(context, dbName, null);
}
SQLiteDatabase db = openHelper.getWritableDatabase();
return db;
}
/**
* 插入数据
*/
public long insertUser(user user) {
DaoMaster daoMaster = new DaoMaster(getWritableDatabase());
DaoSession daoSession = daoMaster.newSession();
userDao userDao = daoSession.getUserDao();
long l = userDao.insertOrReplace(user);
return l;
}
/**
* 获取可读数据库
*/
private SQLiteDatabase getReadableDatabase() {
if (openHelper == null) {
openHelper = new DaoMaster.DevOpenHelper(context, dbName, null);
}
SQLiteDatabase db = openHelper.getReadableDatabase();
return db;
}
/**
* 查询用户列表
*/
public List<user> queryUserList() {
DaoMaster daoMaster = new DaoMaster(getReadableDatabase());
DaoSession daoSession = daoMaster.newSession();
userDao userDao = daoSession.getUserDao();
QueryBuilder<user> qb = userDao.queryBuilder();
List<user> list = qb.list();
return list;
}
/**
* 查询指定用户
*/
public List<user> queryUserName(String name) {
DaoMaster daoMaster = new DaoMaster(getReadableDatabase());
DaoSession daoSession = daoMaster.newSession();
userDao muserDao = daoSession.getUserDao();
QueryBuilder<user> qb = muserDao.queryBuilder();
Query<user> build = qb.where(userDao.Properties.Name.eq(name)).build();
List<user> list = build.list();
return list;
}
}
4.然后就是在各个类中调用其增删改查的方法
配置两个依赖
compile 'de.greenrobot:greendao:2.1.0'
compile 'de.greenrobot:greendao-generator:2.1.0'
2.
创建自定义的DAOGenerater,指定数据库相关配置并生成相关类
public class CustomDAOGenerater {
public static void main(String[] args) throws Exception {
// 第一个参数为数据库版本
//第二个参数为数据库的包名
Schema schema = new Schema(1, "com.example.greendao");// 生成的文件夹
// 创建表,参数为表名
Entity entity = schema.addEntity("Info");//生成类,类名
// 为表添加字段
entity.addIdProperty();// 该字段为id
entity.addStringProperty("name");// String类型字段
entity.addIntProperty("age");//Int类型字段
entity.addStringProperty("tel");// String类型字段
// 生成数据库相关类
//第二个参数指定生成文件的本次存储路径,AndroidStudio工程指定到当前工程的java路径
new DaoGenerator().generateAll(schema, "C:\\Users\\Alpha\\AndroidStudioProjects\\GreenDaoDemo\\app\\src\\main\\java");
}
}
创建数据库
DaoMaster.OpenHelper helper =new DaoMaster.DevOpenHelper(this,"Student.db",null);
SQLiteDatabase database=helper.getWritableDatabase();
DaoMaster master=new DaoMaster(database);
DaoSession session = master.newSession();
dao=session.getStudentDao();
3.在需要的情况下以单例的形势写一个数据库的管理类
public class DBManager {
private final static String dbName = "user.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);
}
/**
* 获取单例引用
*
* @param context
* @return
*/
public static DBManager getInstance(Context context) {
if (mInstance == null) {
synchronized (DBManager.class) {
if (mInstance == null) {
mInstance = new DBManager(context);
}
}
}
return mInstance;
}
/**
* 获取可写数据库
*/
private SQLiteDatabase getWritableDatabase() {
if (openHelper == null) {
openHelper = new DaoMaster.DevOpenHelper(context, dbName, null);
}
SQLiteDatabase db = openHelper.getWritableDatabase();
return db;
}
/**
* 插入数据
*/
public long insertUser(user user) {
DaoMaster daoMaster = new DaoMaster(getWritableDatabase());
DaoSession daoSession = daoMaster.newSession();
userDao userDao = daoSession.getUserDao();
long l = userDao.insertOrReplace(user);
return l;
}
/**
* 获取可读数据库
*/
private SQLiteDatabase getReadableDatabase() {
if (openHelper == null) {
openHelper = new DaoMaster.DevOpenHelper(context, dbName, null);
}
SQLiteDatabase db = openHelper.getReadableDatabase();
return db;
}
/**
* 查询用户列表
*/
public List<user> queryUserList() {
DaoMaster daoMaster = new DaoMaster(getReadableDatabase());
DaoSession daoSession = daoMaster.newSession();
userDao userDao = daoSession.getUserDao();
QueryBuilder<user> qb = userDao.queryBuilder();
List<user> list = qb.list();
return list;
}
/**
* 查询指定用户
*/
public List<user> queryUserName(String name) {
DaoMaster daoMaster = new DaoMaster(getReadableDatabase());
DaoSession daoSession = daoMaster.newSession();
userDao muserDao = daoSession.getUserDao();
QueryBuilder<user> qb = muserDao.queryBuilder();
Query<user> build = qb.where(userDao.Properties.Name.eq(name)).build();
List<user> list = build.list();
return list;
}
}
4.然后就是在各个类中调用其增删改查的方法
阅读全文
0 0
- 关于greenDao的使用
- greenDao的使用教程
- GreenDAO的简单使用
- GreenDao的使用
- GreenDao的使用
- GreenDao的使用
- GreenDao的使用
- greendao的使用
- greenDAO的使用
- GreenDao的使用心得
- Greendao的使用
- GreenDao的使用详解
- GreenDao数据库的使用
- GreenDao的使用
- greenDAO的使用
- GreenDao的使用
- GreenDao的使用
- greenDAO的使用
- select下拉框兼容写法
- DB2前滚测试
- 解决org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z
- Item42 Consider emplacement instead of insertion
- IO、文件、NIO【四】
- GreenDao的使用
- Oralce操作
- MATLAB编辑器风格定制
- 周期性的利用脚本将某个文件夹下的实时新增的文件备份到另一个文件夹中
- PCA算法原理与详细注解
- Android
- XML教程07_验证
- thymeleaf中的模板布局
- Activiti——HelloWorld-模拟流程执行(三)