sql >> Databáze >  >> RDS >> Mysql

Jak vrátit ID na přílohách s mybatis v mysql s poznámkami

Ve skutečnosti je to možné udělat pomocí @Options anotace (za předpokladu, že ve své databázi používáte auto_increment nebo něco podobného):

@Insert("insert into table3 (id, name) values(null, #{name})") 
@Options(useGeneratedKeys=true, keyProperty="idName")
int insertTable3(SomeBean myBean); 

Všimněte si, že keyProperty="idName" část není nutná, pokud se vlastnost klíče v SomeBean jmenuje "id". Je zde také keyColumn atribut dostupný pro vzácné případy, kdy MyBatis nemůže sám najít sloupec primárního klíče. Upozorňujeme také, že pomocí @Options , předkládáte svou metodu některým výchozím parametrům; je důležité konzultovat dokument (odkaz níže -- strana 60 v aktuální verzi)!

(stará odpověď) (zcela nedávné) @SelectKey anotace může být použita pro složitější vyhledávání klíčů (sekvence, funkce identity()...). Zde je obsah Uživatelská příručka pro MyBatis 3 (pdf) nabízí jako příklady:

@Insert("insert into table3 (id, name) values(#{nameId}, #{name})") 
@SelectKey(statement="call next value for TestSequence", keyProperty="nameId", before=true, resultType=int.class) 
int insertTable3(Name name); 
@Insert("insert into table2 (name) values(#{name})")
@SelectKey(statement="call identity()", keyProperty="nameId", before=false, resultType=int.class)
int insertTable2(Name name);


  1. přepsání modu, nadpis slugs a htaccess

  2. Vytvořte sloupec automatického zvýšení v SQLite

  3. MySQL CREATE USER s proměnnou?

  4. Získejte všechny znaky před mezerou v MySQL