Java教程

orm数据库

本文主要是介绍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;
    }
}






这篇关于orm数据库的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!