All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cn.org.atool.fluent.mybatis.metadata.TablePrimaryMeta Maven / Gradle / Ivy

There is a newer version: 1.9.9
Show newest version
package cn.org.atool.fluent.mybatis.metadata;

import cn.org.atool.fluent.mybatis.annotation.TableId;
import lombok.Getter;
import lombok.Setter;
import org.apache.ibatis.type.TypeHandler;
import org.apache.ibatis.type.UnknownTypeHandler;

import java.lang.reflect.Field;

/**
 * PrimaryInfo: 主键信息
 *
 * @author darui.wu 2020/5/27 6:45 下午
 */
@Getter
public class TablePrimaryMeta extends FieldMeta {
    /**
     * 主键ID是否自增
     */
    @Setter
    private boolean autoIncrease;
    /**
     * 表主键ID Sequence
     */
    private final String seqName;

    private final boolean seqIsBeforeOrder;

    public TablePrimaryMeta(Field field, TableId tableId) {
        super(tableId.value(), field);
        this.setJdbcType(tableId.jdbcType());
        this.typeHandler = UnknownTypeHandler.class == tableId.typeHandler() ? null : (Class>) tableId.typeHandler();

        this.el = el();
        this.autoIncrease = tableId.auto();
        this.seqName = tableId.seqName();
        this.seqIsBeforeOrder = tableId.before();
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy