MyBatis-Plus için Yaygın Ek Açıklamalar
İlgili Etiketler:1. Daha Akıcı Bir MyBatis Deneyimi
2. Güçlü: MyBatis ve Üç Akış Sorgusu Yöntemi
MyBatis-Plus için yaygın ek açıklamalar
Geçmişte birlikte öğrendiğimiz MyBatis-Plus ek açıklamaları
I. MyBatis-Plus Ek Açıklamalarına Giriş
Son zamanlarda MyBatis-Plus öğrendim ve şimdi öğrenme sürecinde sıkça kullandığımız ek açıklamaları, bu ek açıklamaların işlevlerini ve nasıl kullanılacağını sizinle birlikte gözden geçireceğim. Özellikle yeni başlayanlar ve deneyimli geliştiriciler için uygundur.
Lafı fazla uzatmadan başlayalım.
2. MyBatis-Plus'a giriş
MyBatis-Plus (kısaca MP), MyBatis için bir geliştirme aracıdır. MyBatis temelinde yalnızca iyileştirme sağlar ve değişiklik yapmaz. Geliştirmeyi basitleştirmek ve verimliliği artırmak amacıyla oluşturulmuştur.
Vizyonu, MyBatis'in en iyi iş ortağı olmaktır.
Resmi adres: https://baomidou.com/
Belge yayım adresi: https://baomidou.com/pages/24112f
3. MyBatis-Plus'ta Yaygın Kullanılan Ek Açıklamalar
1. @MapperScan
@SpringBootApplication _
@MapperScan ( " com.cabbage.mapper " )
public class Mybatisplus01Application {
public static void main( String[] args ) {
SpringApplication.run ( Mybatisplus01Application.class, args );
}
}
Kodu ve görselleri incelediğinizde tahmin edebilirsiniz: @MapperScan ek açıklaması, mapper eşleme dosyasını taramak için kullanılır. Resmi olarak sağlanan çeşitli yöntemleri ancak bu ek açıklamayı kullandıktan sonra uygulayabilirsiniz.
2. @Mapper
@Mapper
@Repository
public interface UserMapper extends BaseMapper {
/**
* ID'ye göre koleksiyonu sorgula ve eşle
* @param id
* @return
*/
Map< String,Object > selectMapById (Long id);
}
Bu ek açıklamayı neden ikinci kez tanıtıyorum? Çünkü @Mapper, veritabanındaki varlık sınıfına etki eder ve @MapperScan ek açıklamasını tekrar yazmanıza gerek kalmaz. Aralarındaki fark, @Mapper'in yalnızca tek bir varlık sınıfını eşleyebilmesiyken, @MapperScan tüm paket altındaki varlık sınıflarını eşleyebilir. Kapsamı daha geniştir ve kullanımı daha kolaydır.
3. @TableName
Öncelikle aşağıdaki koda bakalım:
@Data
//Varlık sınıfına karşılık gelen tablo adını ayarla
@TableName("t_user")
public class User {
@TableId(value = "id",type = IdType.AUTO)
private Long uid;
@TableField(value = "name")
private String name;
private Integer age;
private String email;
@TableField(value = "is_deleted")
@TableLogic
private Integer isDeleted ;
}

Bildiğiniz gibi, varlık sınıfının sınıf adı ile işlem yapılacak tablonun adı uyuşmadığında hata oluşur. @TableName ek açıklaması bu sorunu çözmenize yardımcı olur. Veritabanı tablo adım t_user ve varlık sınıfı adım User ise, sınıf adına @TableName("t_user") yazmanız yeterlidir.
4. @Data
Bu ek açıklama da geliştirmemizi büyük ölçüde basitleştirir. Neden mi? Çünkü bu ek açıklamayı kullanarak getter(), setter(), toString() yöntemlerini atlayabilir ve sınıfın equals() ile hashCode() yöntemlerini geçersiz kılabilirsiniz. Bunu duymak şaşırtıcı değil mi?
5. @TableId
MyBatis-Plus ekleme, silme, güncelleme ve sorgulama işlemlerini gerçekleştirirken varsayılan olarak id'yi birincil anahtar sütunu olarak kullanır. Veri eklerken varsayılan strateji kar tanesi algoritmasına dayanarak id üretir; burada kar tanesi algoritması açıklanmayacaktır.
@TableId(value = "id") ifadesi kullanıldığında, varlık sınıfındaki ve tablodaki birincil anahtar id değil de koddaki uid gibi başka bir alan ise, MyBatis-Plus uid'yi otomatik olarak birincil anahtar sütunu olarak tanımlar. Aksi takdirde şu hatayı verir:
@TableId(value = "id", type = IdType.AUTO) ifadesi kullanıldığında, veritabanının otomatik artırma stratejisi uygulanır. Bu tür için lütfen veritabanında id otomatik artırma ayarının yapıldığından emin olun; aksi takdirde geçersiz olacaktır.
Elbette @TableId işlevi application.yml yapılandırma dosyasında da tanımlanabilir. Yapılandırma aşağıdaki gibidir:
mybatis-plus:
global-config:
banner: false
db-config:
# MyBatis-Plus işlem tablosunun varsayılan önekini yapılandır
table-prefix: "t_"
# MyBatis-Plus birincil anahtar stratejisini yapılandır
id-type: auto
# MyBatis günlüklerini yapılandır
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
6. @TableField
MyBatis-Plus SQL ifadesini çalıştırırken, varlık sınıfındaki öznitelik adının tablodaki alan adıyla aynı olmasını sağlamalıdır; aksi takdirde hata oluşur. @TableField(value = "is_deleted") ifadesi, veritabanı tablosundaki is_deleted ile varlık sınıfındaki isDeleted alan adının aynı olduğunu belirtir.
Dikkat:
Varlık sınıfındaki öznitelikler deve sırtı adlandırma stilini kullanıyor ve tablodaki alanlar alt çizgi adlandırma stilini kullanıyorsa,
örneğin varlık sınıfı özniteliği userName ve tablo alanı user_name ise, MyBatis-Plus alt çizgi adlandırma stilini otomatik olarak deve sırtı adlandırma stiline dönüştürür.
Varlık sınıfındaki öznitelikler ve tablodaki alanlar yukarıdaki koşulları karşılamıyorsa, örneğin varlık sınıfı özniteliği name ve tablo alanı username ise, özniteliğe karşılık gelen alan adını ayarlamak için varlık sınıfı özniteliğinde @TableField("username") kullanmanız gerekir.
7. @TableLogic
Bu ek açıklamayı anlatmadan önce, öncelikle mantıksal silme kavramını anlayalım.
Fiziksel silme: Gerçek silmedir; ilgili veriler veritabanından silinir ve silinen veriler artık sorgulanamaz.
Mantıksal silme: Sahte silmedir; alanın silinip silinmediğini temsil eden veri alanının durumu "silindi durumu" olarak değiştirilir ve veri kaydı veritabanında görünmeye devam eder.
Kullanım senaryosu: Veri kurtarma mümkündür.
Veritabanı tablomda is_delete değeri 1 olduğunda mantıksal silmeyi, 0 olduğunda ise silme olmadığını gösterir.
@TableLogic ek açıklaması, sınıftaki özniteliğin mantıksal silme özniteliği olduğunu belirtir.
Dikkat:
Mezar taşı verileri test edilirken aslında çalıştırılan komut UPDATE t_user SET is_deleted =1 WHERE id=? AND is_deleted =0 şeklindedir.
Sorgu işlevi test edildiğinde, mezar taşı verileri varsayılan olarak sorgulanmaz: SELECT id,username AS name,age,email,is_deleted FROM t_user WHERE is_deleted =0
MyBatis-Plus sayfalama eklentisini öğrenirken kesiciyi yapılandırmamız gerekir. Koda bakın:
@Configuration
public class MybatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor ( ) {
MybatisPlusInterceptor interceptor =
new MybatisPlusInterceptor ( );
interceptor.addInnerInterceptor
(new PaginationInnerInterceptor ( DbType.MYSQL ));
return interceptor;
}
}
8. @Configuration
Bu ek açıklamayı birçok kez görmüşsünüzdür ve biraz sabırsızlanmış olabilirsiniz, ancak yine de burada belirtmek istiyorum. Bu ek açıklamayı kullanan sınıf bir yapılandırma sınıfını temsil eder ve sınıfın kendisi de bir bean'dir. @Bean ek açıklamasını kullanarak bu sınıfa bean de yükleyebilirsiniz.
9. @Bean
@Bean ek açıklaması, yöntemdeki nesnenin Spring konteynerine enjekte edildiğini belirtir. Daha sonra konteynerden nesneyi almak kolaydır ve geliştirmeyi basitleştirir. Genellikle @Configuration ek açıklamasıyla birlikte kullanılır. Bu ek açıklamayı sıkça gördüğünüzü düşünüyorum, bu yüzden burada detaylandırmayacağım.
Sayfalama eklentilerini anlattığımıza göre, şimdi temel kullanımlarına bakalım.
@Test
void test01() {
//Sayfalama parametrelerini ayarla
Page page = new Page< >( 1, 3);
userMapper.selectPage (page, null);
//Sayfalama verilerini al
List list = page.getRecords ();
list.forEach ( System.out :: println );
System.out.println ("Mevcut sayfa:" + page.getCurrent ());
System.out.println ("Sayfa başına görüntülenen öğe sayısı: " + page.getSize ());
System.out.println ("Toplam kayıt:" + page.getTotal ());
System.out.println ("Toplam sayfa: " + page.getPages ());
System.out.println ("Önceki sayfa var mı:" + page.hasPrevious ());
System.out.println ("Sonraki sayfa var mı: " + page.hasNext ());
}
Çalışma sonucu:
10. @Param
Özel bir sayfalama ifadesi kullandığımda:
@Mapper
@Repository
public interface UserMapper extends BaseMapper {
/**
* Yaşa göre kullanıcı bilgilerini sorgula ve sayfala
* @param page
* @param age
* @return
*/
Page selectPageByAge ( Page page, @Param("age") Integer age);
}
@Param, MyBatis tarafından sağlanır. Dao katmanının bir ek açıklaması olarak parametreleri iletmek için kullanılır, böylece SQL'deki alan adıyla eşleşebilir ve geliştirmeyi basitleştirir.
11. @Version
İyimser kilitleme konusunu öğrenirken aşağıdaki kodu mutlaka görmüşsünüzdür:
@Data
@TableName("t_product")
public class Product {
private Long id;
private String name;
private Integer price;
@Version
private Integer version;
}
@Configuration
public class MybatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor =
new MybatisPlusInterceptor ( );
//Sayfalama eklentisi
interceptor.addInnerInterceptor
(new PaginationInnerInterceptor ( DbType.MYSQL ));
//İyimser kilitleme eklentisi
interceptor.addInnerInterceptor (new OptimisticLockerInnerInterceptor ());
return interceptor;
}
}
@Version ek açıklaması, iyimser kilitlemeyi uygulamak için önemli bir ek açıklamadır. Veritabanındaki veriler güncelleneceğinde, örneğin fiyat, sürüm 1 artırılır. Where ifadesindeki sürüm doğru değilse güncelleme başarısız olur.
MyBatis-Plus'ta Yaygın Ek Açıklamalar: @EnumValue
@Getter
public enum SexEnum {
MALE(1, "男"),
FEMALE(2, "女");
@EnumValue
private Integer sex;
private String sexName;
SexEnum(Integer sex, String sexName) {
this.sex = sex;
this.sexName = sexName;
}
}
mybatis-plus:
global-config:
banner: false
db-config:
# MyBatis-Plus işlem tablosunun varsayılan önekini yapılandır
table-prefix: "t_"
# MyBatis-Plus birincil anahtar stratejisini yapılandır
id-type: auto
# MyBatis günlüklerini yapılandır
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
# Tür takma adına karşılık gelen paketi yapılandır
type-aliases-package: cabbage.pojo
# Genel numaralandırmayı taramayı yapılandır
type-enums-package: cabbage.pojo
@EnumValue ek açıklamasıyla tanımlanan öznitelik değeri veritabanında saklanır; bu, INSERT INTO t_user ( username, age, sex ) VALUES ( ?, ?, ? ) ifadesine eşdeğerdir.
Parametreler: Enum ( String), 20(Integer), 1(Integer)
Değerli okuyucular, MyBatis-Plus'ın yaygın ek açıklamalarını neredeyse tamamladık. Yerel çerçevenin sunduğu pratik desteği zaten hissettiğinizi düşünüyorum. Umarım aktif olarak desteklersiniz. Yazarın anlatımını beğendiyseniz, yazara üçlü destek verebilirsiniz.
2. Güçlü: MyBatis ve Üç Akış Sorgusu Yöntemi
MyBatis-Plus için yaygın ek açıklamalar
Geçmişte birlikte öğrendiğimiz MyBatis-Plus ek açıklamaları
I. MyBatis-Plus Ek Açıklamalarına Giriş
Son zamanlarda MyBatis-Plus öğrendim ve şimdi öğrenme sürecinde sıkça kullandığımız ek açıklamaları, bu ek açıklamaların işlevlerini ve nasıl kullanılacağını sizinle birlikte gözden geçireceğim. Özellikle yeni başlayanlar ve deneyimli geliştiriciler için uygundur.
Lafı fazla uzatmadan başlayalım.
2. MyBatis-Plus'a giriş
MyBatis-Plus (kısaca MP), MyBatis için bir geliştirme aracıdır. MyBatis temelinde yalnızca iyileştirme sağlar ve değişiklik yapmaz. Geliştirmeyi basitleştirmek ve verimliliği artırmak amacıyla oluşturulmuştur.
Vizyonu, MyBatis'in en iyi iş ortağı olmaktır.
Resmi adres: https://baomidou.com/
Belge yayım adresi: https://baomidou.com/pages/24112f
3. MyBatis-Plus'ta Yaygın Kullanılan Ek Açıklamalar
1. @MapperScan
@SpringBootApplication _
@MapperScan ( " com.cabbage.mapper " )
public class Mybatisplus01Application {
public static void main( String[] args ) {
SpringApplication.run ( Mybatisplus01Application.class, args );
}
}
Kodu ve görselleri incelediğinizde tahmin edebilirsiniz: @MapperScan ek açıklaması, mapper eşleme dosyasını taramak için kullanılır. Resmi olarak sağlanan çeşitli yöntemleri ancak bu ek açıklamayı kullandıktan sonra uygulayabilirsiniz.
2. @Mapper
@Mapper
@Repository
public interface UserMapper extends BaseMapper
/**
* ID'ye göre koleksiyonu sorgula ve eşle
* @param id
* @return
*/
Map< String,Object > selectMapById (Long id);
}
Bu ek açıklamayı neden ikinci kez tanıtıyorum? Çünkü @Mapper, veritabanındaki varlık sınıfına etki eder ve @MapperScan ek açıklamasını tekrar yazmanıza gerek kalmaz. Aralarındaki fark, @Mapper'in yalnızca tek bir varlık sınıfını eşleyebilmesiyken, @MapperScan tüm paket altındaki varlık sınıflarını eşleyebilir. Kapsamı daha geniştir ve kullanımı daha kolaydır.
3. @TableName
Öncelikle aşağıdaki koda bakalım:
@Data
//Varlık sınıfına karşılık gelen tablo adını ayarla
@TableName("t_user")
public class User {
@TableId(value = "id",type = IdType.AUTO)
private Long uid;
@TableField(value = "name")
private String name;
private Integer age;
private String email;
@TableField(value = "is_deleted")
@TableLogic
private Integer isDeleted ;
}

Bildiğiniz gibi, varlık sınıfının sınıf adı ile işlem yapılacak tablonun adı uyuşmadığında hata oluşur. @TableName ek açıklaması bu sorunu çözmenize yardımcı olur. Veritabanı tablo adım t_user ve varlık sınıfı adım User ise, sınıf adına @TableName("t_user") yazmanız yeterlidir.
4. @Data
Bu ek açıklama da geliştirmemizi büyük ölçüde basitleştirir. Neden mi? Çünkü bu ek açıklamayı kullanarak getter(), setter(), toString() yöntemlerini atlayabilir ve sınıfın equals() ile hashCode() yöntemlerini geçersiz kılabilirsiniz. Bunu duymak şaşırtıcı değil mi?
5. @TableId
MyBatis-Plus ekleme, silme, güncelleme ve sorgulama işlemlerini gerçekleştirirken varsayılan olarak id'yi birincil anahtar sütunu olarak kullanır. Veri eklerken varsayılan strateji kar tanesi algoritmasına dayanarak id üretir; burada kar tanesi algoritması açıklanmayacaktır.
@TableId(value = "id") ifadesi kullanıldığında, varlık sınıfındaki ve tablodaki birincil anahtar id değil de koddaki uid gibi başka bir alan ise, MyBatis-Plus uid'yi otomatik olarak birincil anahtar sütunu olarak tanımlar. Aksi takdirde şu hatayı verir:
@TableId(value = "id", type = IdType.AUTO) ifadesi kullanıldığında, veritabanının otomatik artırma stratejisi uygulanır. Bu tür için lütfen veritabanında id otomatik artırma ayarının yapıldığından emin olun; aksi takdirde geçersiz olacaktır.
Elbette @TableId işlevi application.yml yapılandırma dosyasında da tanımlanabilir. Yapılandırma aşağıdaki gibidir:
mybatis-plus:
global-config:
banner: false
db-config:
# MyBatis-Plus işlem tablosunun varsayılan önekini yapılandır
table-prefix: "t_"
# MyBatis-Plus birincil anahtar stratejisini yapılandır
id-type: auto
# MyBatis günlüklerini yapılandır
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
6. @TableField
MyBatis-Plus SQL ifadesini çalıştırırken, varlık sınıfındaki öznitelik adının tablodaki alan adıyla aynı olmasını sağlamalıdır; aksi takdirde hata oluşur. @TableField(value = "is_deleted") ifadesi, veritabanı tablosundaki is_deleted ile varlık sınıfındaki isDeleted alan adının aynı olduğunu belirtir.
Dikkat:
Varlık sınıfındaki öznitelikler deve sırtı adlandırma stilini kullanıyor ve tablodaki alanlar alt çizgi adlandırma stilini kullanıyorsa,
örneğin varlık sınıfı özniteliği userName ve tablo alanı user_name ise, MyBatis-Plus alt çizgi adlandırma stilini otomatik olarak deve sırtı adlandırma stiline dönüştürür.
Varlık sınıfındaki öznitelikler ve tablodaki alanlar yukarıdaki koşulları karşılamıyorsa, örneğin varlık sınıfı özniteliği name ve tablo alanı username ise, özniteliğe karşılık gelen alan adını ayarlamak için varlık sınıfı özniteliğinde @TableField("username") kullanmanız gerekir.
7. @TableLogic
Bu ek açıklamayı anlatmadan önce, öncelikle mantıksal silme kavramını anlayalım.
Fiziksel silme: Gerçek silmedir; ilgili veriler veritabanından silinir ve silinen veriler artık sorgulanamaz.
Mantıksal silme: Sahte silmedir; alanın silinip silinmediğini temsil eden veri alanının durumu "silindi durumu" olarak değiştirilir ve veri kaydı veritabanında görünmeye devam eder.
Kullanım senaryosu: Veri kurtarma mümkündür.
Veritabanı tablomda is_delete değeri 1 olduğunda mantıksal silmeyi, 0 olduğunda ise silme olmadığını gösterir.
@TableLogic ek açıklaması, sınıftaki özniteliğin mantıksal silme özniteliği olduğunu belirtir.
Dikkat:
Mezar taşı verileri test edilirken aslında çalıştırılan komut UPDATE t_user SET is_deleted =1 WHERE id=? AND is_deleted =0 şeklindedir.
Sorgu işlevi test edildiğinde, mezar taşı verileri varsayılan olarak sorgulanmaz: SELECT id,username AS name,age,email,is_deleted FROM t_user WHERE is_deleted =0
MyBatis-Plus sayfalama eklentisini öğrenirken kesiciyi yapılandırmamız gerekir. Koda bakın:
@Configuration
public class MybatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor ( ) {
MybatisPlusInterceptor interceptor =
new MybatisPlusInterceptor ( );
interceptor.addInnerInterceptor
(new PaginationInnerInterceptor ( DbType.MYSQL ));
return interceptor;
}
}
8. @Configuration
Bu ek açıklamayı birçok kez görmüşsünüzdür ve biraz sabırsızlanmış olabilirsiniz, ancak yine de burada belirtmek istiyorum. Bu ek açıklamayı kullanan sınıf bir yapılandırma sınıfını temsil eder ve sınıfın kendisi de bir bean'dir. @Bean ek açıklamasını kullanarak bu sınıfa bean de yükleyebilirsiniz.
9. @Bean
@Bean ek açıklaması, yöntemdeki nesnenin Spring konteynerine enjekte edildiğini belirtir. Daha sonra konteynerden nesneyi almak kolaydır ve geliştirmeyi basitleştirir. Genellikle @Configuration ek açıklamasıyla birlikte kullanılır. Bu ek açıklamayı sıkça gördüğünüzü düşünüyorum, bu yüzden burada detaylandırmayacağım.
Sayfalama eklentilerini anlattığımıza göre, şimdi temel kullanımlarına bakalım.
@Test
void test01() {
//Sayfalama parametrelerini ayarla
Page
userMapper.selectPage (page, null);
//Sayfalama verilerini al
List
list.forEach ( System.out :: println );
System.out.println ("Mevcut sayfa:" + page.getCurrent ());
System.out.println ("Sayfa başına görüntülenen öğe sayısı: " + page.getSize ());
System.out.println ("Toplam kayıt:" + page.getTotal ());
System.out.println ("Toplam sayfa: " + page.getPages ());
System.out.println ("Önceki sayfa var mı:" + page.hasPrevious ());
System.out.println ("Sonraki sayfa var mı: " + page.hasNext ());
}
Çalışma sonucu:
10. @Param
Özel bir sayfalama ifadesi kullandığımda:
@Mapper
@Repository
public interface UserMapper extends BaseMapper
/**
* Yaşa göre kullanıcı bilgilerini sorgula ve sayfala
* @param page
* @param age
* @return
*/
Page
}
@Param, MyBatis tarafından sağlanır. Dao katmanının bir ek açıklaması olarak parametreleri iletmek için kullanılır, böylece SQL'deki alan adıyla eşleşebilir ve geliştirmeyi basitleştirir.
11. @Version
İyimser kilitleme konusunu öğrenirken aşağıdaki kodu mutlaka görmüşsünüzdür:
@Data
@TableName("t_product")
public class Product {
private Long id;
private String name;
private Integer price;
@Version
private Integer version;
}
@Configuration
public class MybatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor =
new MybatisPlusInterceptor ( );
//Sayfalama eklentisi
interceptor.addInnerInterceptor
(new PaginationInnerInterceptor ( DbType.MYSQL ));
//İyimser kilitleme eklentisi
interceptor.addInnerInterceptor (new OptimisticLockerInnerInterceptor ());
return interceptor;
}
}
@Version ek açıklaması, iyimser kilitlemeyi uygulamak için önemli bir ek açıklamadır. Veritabanındaki veriler güncelleneceğinde, örneğin fiyat, sürüm 1 artırılır. Where ifadesindeki sürüm doğru değilse güncelleme başarısız olur.
MyBatis-Plus'ta Yaygın Ek Açıklamalar: @EnumValue
@Getter
public enum SexEnum {
MALE(1, "男"),
FEMALE(2, "女");
@EnumValue
private Integer sex;
private String sexName;
SexEnum(Integer sex, String sexName) {
this.sex = sex;
this.sexName = sexName;
}
}
mybatis-plus:
global-config:
banner: false
db-config:
# MyBatis-Plus işlem tablosunun varsayılan önekini yapılandır
table-prefix: "t_"
# MyBatis-Plus birincil anahtar stratejisini yapılandır
id-type: auto
# MyBatis günlüklerini yapılandır
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
# Tür takma adına karşılık gelen paketi yapılandır
type-aliases-package: cabbage.pojo
# Genel numaralandırmayı taramayı yapılandır
type-enums-package: cabbage.pojo
@EnumValue ek açıklamasıyla tanımlanan öznitelik değeri veritabanında saklanır; bu, INSERT INTO t_user ( username, age, sex ) VALUES ( ?, ?, ? ) ifadesine eşdeğerdir.
Parametreler: Enum ( String), 20(Integer), 1(Integer)
4. MyBatis-Plus Ek Açıklamaları Özeti
Değerli okuyucular, MyBatis-Plus'ın yaygın ek açıklamalarını neredeyse tamamladık. Yerel çerçevenin sunduğu pratik desteği zaten hissettiğinizi düşünüyorum. Umarım aktif olarak desteklersiniz. Yazarın anlatımını beğendiyseniz, yazara üçlü destek verebilirsiniz.
İlgili Makaleler
-
Veri Depolama İçin 6 İsteğe Bağlı Teknoloji
Bilgi Tabanı Ekibi
Daha Fazla Özel Teklifi Keşfedin
-
Kısa Mesaj Servisi (SMS) & E-posta Hizmeti
50.000 e-posta paketi 1,99 USD'den, 120 kısa mesaj ise sadece 1,00 USD'den başlayan fiyatlarla.
