build.gradle里添加
compileOptions{annotationEnabled true}
dao
dao/dao
public interface NodeDao {
boolean insert(NodeEntity entity);
boolean update(NodeEntity entity);
boolean delete(int id);
List<NodeEntity> query();
NodeEntity queryNodeById(int id);
}
dao/daoImpl
public class NodeDaoImpl implements NodeDao {
@Override
public boolean insert(NodeEntity entity) {
ormContext.insert(entity);
return ormContext.flush();
}
private OrmContext ormContext;
public NodeDaoImpl(Context context) {
DatabaseHelper helper = new DatabaseHelper(context);
ormContext = helper.getOrmContext("NodeDB","node.db", NodeDatabase.class);
}
@Override
public boolean update(NodeEntity entity) {
OrmPredicates predicates =ormContext.where(NodeEntity.class).equalTo("id",entity.getId());
List<NodeEntity> entities = ormContext.query(predicates);
NodeEntity updateEntity = entities.get(0);
updateEntity.setTitle(entity.getTitle());
updateEntity.setContent(entity.getContent());
updateEntity.setDate(entity.getDate());
ormContext.update(updateEntity);
return ormContext.flush();
}
@Override
public boolean delete(int id) {
OrmPredicates predicates =ormContext.where(NodeEntity.class).equalTo("id",id);
List<NodeEntity> entities = ormContext.query(predicates);
ormContext.delete(entities.get(0));
return ormContext.flush();
}
@Override
public List<NodeEntity> query() {
OrmPredicates predicates =ormContext.where(NodeEntity.class).greaterThan("id",0);
List<NodeEntity> entities = ormContext.query(predicates);
return entities;
}
@Override
public NodeEntity queryNodeById(int id) {
OrmPredicates predicates =ormContext.where(NodeEntity.class).equalTo("id",id);
List<NodeEntity> entities = ormContext.query(predicates);
return entities.get(0);
}
db/数据库
@Database(entities = {NodeEntity.class},version = 1)
public abstract class NodeDatabase extends OrmDatabase {}
entity/
@Entity(tableName = "nodes")
public class NodeEntity extends OrmObject {
@PrimaryKey(autoGenerate = true)
private Integer id;
private String title;
private String content;
private long date;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public long getDate() {
return date;
}
public void setDate(long date) {
this.date = date;
}
}
orm数据库