看了许多博客,都不是我想要的,我自己总结一下吧,,,
步骤 1.创建实体类
2.在实体类中添加注解(注意必须有@Id)
3.在activity中,配置属性,创建实例
4,,进一步增,删,改,查
//注意这里可写可不写,写上@Table表明创建表(加上name表示表名自定义,不加name 默认是类全名)
//也可以在代码中创建
@Table(name = "Mail_list")public class Mail_list {
//列名
@Column(column = "content")
private String content;
@Column(column = "ctime")
private String ctime;
@Column(column = "uname")
private String uname;
@Column(column = "img")
private String img;
//注意必须有@Id 这是主键
@com.lidroid.xutils.db.annotation.Id(column = "Id")
//不自增
@NoAutoIncrement
private String Id;
@Column(column = "subject")
private String subject;
@Column(column = "read")
private String read;
}
下面就是 set。get 方法 构造函数,就不写了
在activity中
// 数据库设置
config = new DaoConfig(MailActivity.this);
config.setDbName("xUtils_mail"); //设置数据库名
config.setDbVersion(1); //版本
// 创建数据库
file = new File(Environment.getExternalStorageDirectory() + "/owifi_db");
String string = file.toString();
//设置数据库路径
config.setDbDir(string);
//创建数据库
mDbUtils = DbUtils.create(config);
//这种创建是默认的
//默认:
dbName="xUtils.db",
dbVersion=1,
DB文件保存路径=“APP内部缓存目录”(/data/data/youpackage/cache)
//mDbUtils = DbUtils.create(MailActivity.this);
然后就是 增,删,改,查
1.增:
保存实体到DB(insert)
根据实体类注解,自动创建表;
只持久化基本数据类型、java.lang.*等,不能处理的类型自动忽略;
对静态属性、添加忽略注解属性自动忽略。
mDbUtils.save(sendMail);
同理后面放集合
mDbUtils.saveAll(List_mail);
保存或更新实体到DB(replace or insert)
根据实体类注解,自动创建表;
根据ID判断replace还是insert;
只持久化基本数据类型、java.lang.*等,不能处理的类型自动忽略;
对静态属性、添加忽略注解属性自动忽略。
mDbUtils.saveOrUpdate(sendMail);
2.删:
删除表中所有记录
mDbUtils.deleteAll(Mail_list.class);
清空当前数据库(删除所有表)
mDbUtils.dropDb();
其他的类似
3.改:(自己理解为替换)
mDbUtils.replace(sendMail);
更新实体到DB(replace)
根据实体类注解,自动创建表;
只持久化基本数据类型、java.lang.*等,不能处理的类型自动忽略;
对静态属性、添加忽略注解属性自动忽略。
4.查:
根据实体类类型查找记录
List<Mail_list> findAll = mDbUtils.findAll(Mail_list.class);
5.其他方法:
检查数据库表是否存在
mDbUtils.tableIsExist(Mail_list.class);
创建数据库表,当表不存在时
mDbUtils.createTableIfNotExist(Mail_list.class);
关闭当前数据库连接
mDbUtils.close();
还有很多方法,大家可自己查看api文档。
本人能力有限,有写的不对的地方望大家提出,非常感谢!!!