最新java持久层框架六 summer-data Table

58 阅读1分钟

table 映射

Table是数据库表在Java中的映射,所有对数据库表的操作都是通过操作Table实例完成。

@TableName("t_prod")
public class Prod extends Table {

    @AutoGenerated
    public IntegerColumn res_id;
  
    @MaxLength(100)
    public StringColumn prod_name;
}

@TableName("t_prod_detail")
public class ProdDetail extends Table {

    @AutoGenerated
    public IntegerColumn prod_res_id;
  
    public IntegerColumn res_id;
  
    @MaxLength(100)
    public StringColumn detail_name;
}

注意:字段要设定成public,所有的表要继承Table类。

尽管这样不算优雅,但是这样在写Jql时会非常自然、高效。

insert

Prod t1 = new Prod();
t1.prod_name.setValue("walker");
Integer result = t1.insert();

update

Prod t1 = new Prod();
t1.prod_name.setValue("walker");
Integer result = t1.updateBy(t1.id.eq("123"));

delete

Prod t1 = new Prod();
Integer result = t1.deleteBy(t1.res_id.eq("123"));

注解

@AutoGenerated

IntegerColumn 类型字段,表明这个字段有数据库服务器端自动生成,java代码中无需处理。 StringColumn 类型字段,表明这个字段由summer-data在插入前自动生成,默认使用UUID生成32位字符串。

@MaxLength(100)

StringColumn 类型字段,表明这个字段的长度不超过100个字符。

官网地址: https://www.summer-data.com

代码库地址:https://gitee.com/hahan2020/summer-data