Allgemeine Anmerkungen zu Mybatis-Plus

Inhaltsverzeichnis

Allgemeine Anmerkungen zu Mybatis-Plus

1. @TableName

2、@TableId

2.1 IdType

3、@TableField

4、@Version

5、@EnumValue

6、@TableLogic

7、@KeySequence

8、@OrderBy


Allgemeine Anmerkungen zu Mybatis-Plus

1. @TableName

  • Beschreibung: Annotation zum Tabellennamen, die die Tabelle identifiziert, die der Entitätsklasse entspricht
  • Verwendungszweck: Entitätsklasse
@TableName("sys_user")
public class User {
    private Long id;
    private String name;
    private Integer age;
    private String email;
}

 

Attribute Typ Muss angegeben werden Standardwert beschreiben
Wert Zeichenfolge NEIN „“ Tabellenname
Schema Zeichenfolge NEIN „“ Schema
keepGlobalPrefix Boolescher Wert NEIN FALSCH Ob der globale TablePrefix-Wert weiterhin verwendet werden soll (wenn der globale TablePrefix wirksam ist)
resultMap Zeichenfolge NEIN „“ Die ID von resultMap in XML (wird verwendet, um bestimmte Arten der Objektbindung von Entitätsklassen zu erfüllen)
autoResultMap Boolescher Wert NEIN FALSCH Ob resultMap automatisch erstellt und verwendet werden soll (wenn resultMap festgelegt ist, wird die automatische Erstellung und Injektion von resultMap nicht durchgeführt)
ausschließenEigenschaft String[] NEIN {} Auszuschließende Attributnamen

Beschreibung über  autoResultMap :

MP erstellt automatisch eines  resultMap und injiziert es in MyBatis (im Allgemeinen nicht verwendet). Bitte beachten Sie Folgendes:

Da die unterste Ebene von MP MyBatis ist, hilft Ihnen MP lediglich dabei, häufig verwendetes CRUD in MyBatis zu injizieren. Vor der Injektion ist es dynamisch (ändert sich entsprechend Ihren Entitätsfeldern und Anmerkungen), aber nach der Injektion ist es statisch (entspricht dem Inhalt in der XML-Konfiguration).

Für  typeHandler Attribute unterstützt MyBatis nur das Schreiben an zwei Stellen:

  1. Definiert in resultMap, wird zum Kapseln von Abfrageergebnissen verwendet
  2.  Wird nach  der insert and-  update Anweisung  definiert   (zum Beispiel: ) und gilt nur für den aktuellen #{property}property#{property,typehandler=xxx.xxx.xxx}设置值

Zusätzlich zu den beiden oben genannten direkt angegebenen  typeHandler Formularen verfügt MyBatis über eine Konfiguration zum globalen Scannen benutzerdefinierter  Pakete. Das Prinzip besteht darin  , das entsprechende Paket  typeHandler entsprechend Ihrem  Typ zu finden  und zu verwenden.propertytypeHandler

2、@TableId

  • Beschreibung: Primärschlüsselanmerkung
  • Verwendungszweck: Primärschlüsselfeld der Entitätsklasse
@TableName("sys_user")
public class User {
    @TableId
    private Long id;
    private String name;
    private Integer age;
    private String email;
}
Attribute Typ Muss angegeben werden Standardwert beschreiben
Wert Zeichenfolge NEIN „“ Name des Primärschlüsselfelds
Typ Aufzählung NEIN IdType.NONE Geben Sie den Primärschlüsseltyp an

2.1 IdType

Attribute

veranschaulichen

AUTO Automatische Erhöhung der Datenbank-ID
KEINER Zustandslos, dieser Typ hat keinen Primärschlüsselsatz (die Annotation entspricht dem Folgen des globalen, und das globale Rio entspricht ungefähr INPUT).
EINGANG Legen Sie den Primärschlüsselwert vor dem Einfügen fest
ASSIGN_ID Weisen Sie eine ID zu (Primärschlüsseltyp ist Zahl (Long und Integer) oder String) (seit 3.3.0), verwenden Sie die Schnittstellenmethode IdentifierGenerator( nextIddie Standardimplementierungsklasse ist der DefaultIdentifierGeneratorSnowflake-Algorithmus).
ASSIGN_UUID UUID zuweisen, Primärschlüsseltyp ist String (seit 3.3.0), Schnittstellenmethode verwenden IdentifierGenerator( nextUUIDStandardmethode)

3、@TableField

  • Beschreibung: Feldanmerkungen (nicht Primärschlüssel)
@TableName("sys_user")
public class User {
    @TableId
    private Long id;
    @TableField("nickname")
    private String name;
    private Integer age;
    private String email;
}
Attribute Typ Muss angegeben werden Standardwert beschreiben
Wert Zeichenfolge NEIN „“ Name des Datenbankfelds
existieren Boolescher Wert NEIN WAHR Ob es sich um ein Datenbanktabellenfeld handelt
Zustand Zeichenfolge NEIN „“ Vergleichsbedingungen für Feldentitätsabfragen  where . Wenn ein Wert festgelegt ist, hat der festgelegte Wert Vorrang. Wenn nicht, ist er standardmäßig global  %s=#{%s}. Weitere Informationen finden Sie unter (öffnet neues Fenster).
aktualisieren Zeichenfolge NEIN „“ Feld  update set -Teilinjektion, zum Beispiel: beim Annotieren des Versionsfelds, um update="%s+1" eine Aktualisierung anzuzeigen  set version=version+1 (dieses Attribut hat eine höhere Priorität als  el das Attribut)
insertStrategy Aufzählung NEIN FieldStrategy.DEFAULT Beispiel: NOT_NULL
insert into table_a(<if test="columnProperty != null">column</if>) values (<if test="columnProperty != null">#{columnProperty}</if>)
updateStrategy Enum FieldStrategy.DEFAULT 举例:IGNORED
update table_a set column=#{columnProperty}
whereStrategy Enum FieldStrategy.DEFAULT 举例:NOT_EMPTY
where <if test="columnProperty != null and columnProperty!=''">column=#{columnProperty}</if>
fill Enum FieldFill.DEFAULT 字段自动填充策略
select boolean true 是否进行 select 查询
keepGlobalFormat boolean false 是否保持使用全局的 format 进行处理
jdbcType JdbcType JdbcType.UNDEFINED JDBC 类型 (该默认值不代表会按照该值生效)
typeHandler Class<? extends TypeHandler> UnknownTypeHandler.class 类型处理器 (该默认值不代表会按照该值生效)
numericScale String "" 指定小数点后保留的位数

 注意:

关于`jdbcType`和`typeHandler`以及`numericScale`的说明:

numericScale只生效于 update 的 sql. jdbcTypetypeHandler如果不配合@TableName#autoResultMap = true一起使用,也只生效于 update 的 sql. 对于typeHandler如果你的字段类型和 set 进去的类型为equals关系,则只需要让你的typeHandler让 Mybatis 加载到即可,不需要使用注解

FieldStrategy:

描述
IGNORED 忽略判断
NOT_NULL 非 NULL 判断
NOT_EMPTY 非空判断(只对字符串类型字段,其他类型字段依然为非 NULL 判断)
DEFAULT 追随全局配置
NEVER 不加入SQL

 FieldFill:

描述
DEFAULT 默认不处理
INSERT 插入时填充字段
UPDATE 更新时填充字段
INSERT_UPDATE 插入和更新时填充字段

4、@Version

描述:乐观锁注解、标记 @Version 在字段上

5、@EnumValue

描述:普通枚举类注解(注解在枚举字段上)

6、@TableLogic

Beschreibung: Anmerkungen zur logischen Verarbeitung des Tabellenfelds (logisches Löschen)

Attribute Typ Muss angegeben werden Standardwert beschreiben
Wert Zeichenfolge NEIN „“ logischer wiederhergestellter Wert
delval Zeichenfolge NEIN „“ Grabsteinwert

7、@KeySequence

  • Beschreibung: Sequenz-Primärschlüsselstrategie oracle
  • Attribute: Wert, dbType
Attribute Typ Muss angegeben werden Standardwert beschreiben
Wert Zeichenfolge NEIN „“ Sequenzname
dbType Aufzählung NEIN DbType.OTHER Datenbanktyp. Wenn nicht konfiguriert, besteht die Standardimplementierung darin, IKeyGenerator einzufügen. Es müssen mehrere Implementierungen angegeben werden.

8、@OrderBy

Beschreibung: Integriertes SQL gibt die Sortierung standardmäßig mit einer niedrigeren Priorität als der bedingten Wrapper-Abfrage an

Attribute Typ Muss angegeben werden Standardwert beschreiben
isDesc Boolescher Wert NEIN WAHR Ob in umgekehrter Reihenfolge abgefragt werden soll
Sortieren kurz NEIN Short.MAX_VALUE Je kleiner die Zahl, desto höher ist sie

 

 Referenz: Anmerkungen | MyBatis-Plus

Ich denke du magst

Origin blog.csdn.net/qi341500/article/details/132651227
Empfohlen
Rangfolge