orm数据库

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;
}
}








上一篇:ajax上传大附件报错:413 Request Entity Too Large


下一篇:.NET基础篇——利用泛型与反射更新实体(ADO.NET Entity Framework)