Java™ ORM框架CDM教程 快速上手(一)

2018-12-24  本文已影响0人  懒得出风头

CDM

全称 common database manager, Java™ orm 框架。
maven链接
GitHub链接
Sanen CDM 官方链接

环境搭建

maven环境

只需在pom中添加(这里用的2.0.5版本,请以maven仓库最新版本为准)

<!-- https://mvnrepository.com/artifact/online.sanen/cdm-core -->
    <dependency>
        <groupId>online.sanen</groupId>
        <artifactId>cdm-core</artifactId>
        <version>2.0.5</version>
    </dependency>

非maven环境

下载最新jar导入项目
mhdt-common.jar
cdm-api.jar
cdm-core.jar
cdm-template

BootStrap

全局引导器,用于控制CRUD的入口。

工厂创建Bootstrap实例

Bootstrap bootstrap = BootStrapFactoty.load(config->{
            config.setDriver(Driven.SQLITE);
            config.setUrl("jdbc:sqlite:test.sqlite");
        });

BasicBean

实体类映射基础接口

public interface BasicBean {
    String primarykey();
}

只有一个待实现方法primarykey,返回对象表主键字段。

package com.example.demo;

import com.mhdt.annotation.NoInsert;

import online.sanen.cdm.basic.BasicBean;

public class User implements BasicBean {

    @NoInsert
    /** 插入操作时,忽略该字段(id) */
    int id;

    String name;

    String sex;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }
    
    @Override
    public String toString() {
        return "User [id=" + id + ", name=" + name + ", sex=" + sex + "]";
    }

    @Override
    public String primarykey() {
        return "id";
    }

}

自动建表

bootstrap.query(new User()).create();

插入

创建User实例
调用bootstrap.query(user).insert();

SimpleRandom ran = new SimpleRandom();
    
    for(int i=0;i<10;i++) {
        User user = new User();
        user.setName(ran.nextLetter(4));
        user.setSex(ran.nextInt(1)==0?"男":"女");
        bootstrap.query(user).insert();
    }

查询列表

bootstrap.query(User.class).addEntry(User.class).list();

addEntry方法: 设置实体类映射
list方法:返回列表

List<User> list = bootstrap.query(User.class).addEntry(User.class).list();
System.out.println(list);

主键操作

查询

bootstrap.query(User.class,1).find();

删除

bootstrap.query(User.class,1).delete();

修改

bootstrap.query(User.class,2).find()

User.class: 实体类类型
find方法: 主键查询

User user = bootstrap.query(User.class,2).find();
user.setName("Tom");
bootstrap.query(user).update();
上一篇下一篇

猜你喜欢

热点阅读