ACTable示例Model

简单的配置如下:

  1. import com.gitee.sunchenbin.mybatis.actable.annotation.*;
  2. import java.math.BigDecimal;
  3. import java.util.Date;
  4. /**
  5. * 全部采用actable自有的注解
  6. */
  7. @Table(comment = "actable简单配置")
  8. public class ACTableSimple {
  9. @IsKey
  10. @IsAutoIncrement
  11. private Long id;
  12. @Column
  13. @Index
  14. @IsNotNull
  15. private String name;
  16. @Column
  17. private Date createTime;
  18. @Column(defaultValue = "false")
  19. private Boolean isTrue;
  20. @Column
  21. private Integer age;
  22. @Column
  23. private BigDecimal price;
  24. @Column
  25. @Unique
  26. private String identitycard;
  27. }

生成表如下:
image.png
进阶版配置如下:

  1. import com.gitee.sunchenbin.mybatis.actable.annotation.*;
  2. import com.gitee.sunchenbin.mybatis.actable.constants.MySqlCharsetConstant;
  3. import com.gitee.sunchenbin.mybatis.actable.constants.MySqlEngineConstant;
  4. import com.gitee.sunchenbin.mybatis.actable.constants.MySqlTypeConstant;
  5. import java.math.BigDecimal;
  6. import java.util.Date;
  7. /**
  8. * 全部采用actable自有的注解
  9. */
  10. @Table(value = "t_actable_advance", comment = "actable进阶配置")
  11. @TableCharset(MySqlCharsetConstant.UTF8)
  12. @TableEngine(MySqlEngineConstant.InnoDB)
  13. public class ACTableAdvance {
  14. @IsKey
  15. @IsAutoIncrement
  16. private Long id;
  17. @Column
  18. @Index(value = "idx_name_shop", columns = {"name","shop"})
  19. @IsNotNull
  20. private String name;
  21. @Column(name = "create_time", type = MySqlTypeConstant.TIMESTAMP, comment = "创建时间")
  22. private Date createTime;
  23. @Column
  24. @DefaultValue("true")
  25. private Boolean isTrue;
  26. @Column
  27. @ColumnComment("年龄")
  28. @ColumnType(value = MySqlTypeConstant.INT, length = 3)
  29. private Integer age;
  30. @Column(length = 10, decimalLength = 4)
  31. private BigDecimal price;
  32. @Column
  33. @Unique("uni_identitycard")
  34. private String identitycard;
  35. @Column
  36. @Unique(columns = {"name","shop"})
  37. private String shop;
  38. }

生成表如下:image.png

tk.mybatis示例Model

简单的配置如下:

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 完全使用tk.mybatis的注解
 */
@Table
public class TKMybatisSimple {

    @Id
    private Long id;

    @Column
    private String name;

    @Column
    private Date createTime;

    @Column
    private Boolean isTrue;

    @Column
    private Integer age;

    @Column
    private BigDecimal price;

    @Column
    private String identitycard;
}

生成表如下:image.png

进阶版的结合ACTable的配置如下:

import com.gitee.sunchenbin.mybatis.actable.annotation.*;
import com.gitee.sunchenbin.mybatis.actable.constants.MySqlCharsetConstant;
import com.gitee.sunchenbin.mybatis.actable.constants.MySqlEngineConstant;
import com.gitee.sunchenbin.mybatis.actable.constants.MySqlTypeConstant;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 使用tk.mybatis的Table,Column,Id三个注解,其他的是actable的注解
 */
@Table(name = "t_tkmybatis_advance")
@TableComment("tkmyabts进阶版配置结合actable注解")
@TableCharset(MySqlCharsetConstant.UTF8)
@TableEngine(MySqlEngineConstant.InnoDB)
public class TKMybatisAdvance {

    @Id
    @IsAutoIncrement
    private Long id;

    @Column(length = 50, nullable = false)
    @Index(value = "idx_name_shop", columns = {"name","shop"})
    private String name;

    @Column(name = "create_time")
    @ColumnType(MySqlTypeConstant.TIMESTAMP)
    @ColumnComment("创建时间")
    private Date createTime;

    @Column
    @DefaultValue("0")
    private Boolean isTrue;

    @Column
    @ColumnComment("年龄")
    @ColumnType(value = MySqlTypeConstant.INT, length = 3)
    private Integer age;

    @Column(length = 10, scale = 4)
    private BigDecimal price;

    @Column
    @Unique("uni_identitycard")
    private String identitycard;

    @Column
    @Unique(columns = {"name","shop"})
    private String shop;
}

生成表如下:image.png

mybatis-plus示例Model

简单的配置如下:

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 完全使用mybatis-plus的注解
 */
@TableName
public class MybatisPlusSimple {

    @TableId
    private Long id;

    @TableField
    private String name;

    @TableField
    private Date createTime;

    @TableField
    private Boolean isTrue;

    @TableField
    private Integer age;

    @TableField
    private BigDecimal price;

    @TableField
    private String identitycard;
}

生成表如下:image.png

进阶版的结合ACTable的配置如下:

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.gitee.sunchenbin.mybatis.actable.annotation.*;
import com.gitee.sunchenbin.mybatis.actable.constants.MySqlCharsetConstant;
import com.gitee.sunchenbin.mybatis.actable.constants.MySqlEngineConstant;
import com.gitee.sunchenbin.mybatis.actable.constants.MySqlTypeConstant;

import java.math.BigDecimal;
import java.util.Date;

/**
 *
 */
@TableName("t_mybatisplus_advance")
@TableComment("mybatisplus进阶版配置结合actable注解")
@TableCharset(MySqlCharsetConstant.UTF8)
@TableEngine(MySqlEngineConstant.InnoDB)
public class MybatisPlusAdvance {

    @TableId
    @IsAutoIncrement
    private Long id;

    @TableField
    @ColumnType(length = 50)
    @IsNotNull
    @Index(value = "idx_name_shop", columns = {"name","shop"})
    private String name;

    @TableField("create_time")
    @ColumnType(MySqlTypeConstant.TIMESTAMP)
    @ColumnComment("创建时间")
    private Date createTime;

    @TableField
    @DefaultValue("1")
    private Boolean isTrue;

    @TableField
    @ColumnComment("年龄")
    @ColumnType(value = MySqlTypeConstant.INT, length = 3)
    private Integer age;

    @TableField
    @ColumnType(length = 10, decimalLength = 4)
    private BigDecimal price;

    @TableField
    @Unique("uni_identitycard")
    private String identitycard;

    @TableField
    @Unique(columns = {"name","shop"})
    private String shop;

    @TableField(exist = false)
    private String notExsit;
}

生成表如下:image.png