SpringBoot 2.x, MyBatis'i entegre eder

Önce IDEA'da bir SpringBoot projesi oluşturun:

.png

Bazı temel paketleri seçin:

Oluşturmayı tamamlayın:

Proje başarıyla oluşturulduktan sonra, bağımlılıkları pom.xml dosyasına ekleyin.Tam bağımlılıklar aşağıdaki gibidir:

< bağımlılıklar >

< bağımlılık >

< Grup kimliği > org.springframework.boot < /Grup kimliği >

< artifactId > Spring-boot-starter-web < / artifactId >

< /bağımlılık >

< bağımlılık >

< Grup kimliği > org.mybatis.spring.boot < /Grup kimliği >

< artifactId > mybatis-spring-boot-starter < / artifactId >

< versiyon > 1.3.2 < / version >

< /bağımlılık >

< bağımlılık >

< Grup kimliği > mysql < /Grup kimliği >

< artifactId > mysql-bağlayıcı-java < / artifactId >

< dürbün > Çalışma süresi < /dürbün >

< /bağımlılık >

< bağımlılık >

< Grup kimliği > org.springframework.boot < /Grup kimliği >

< artifactId > yay önyükleme başlangıç testi < / artifactId >

< dürbün > Ölçek < /dürbün >

< /bağımlılık >

< bağımlılık >

< Grup kimliği > com.alibaba < /Grup kimliği >

< artifactId > druid-spring-boot-starter < / artifactId >

< versiyon > 1.1.9 < / version >

< /bağımlılık >

< / bağımlılıklar >

Ardından, ilgili dosyaları ve kodları otomatik olarak oluşturmak için mybatis-generator eklentisini kullanın. Tamamlandıktan sonra, proje dizin yapısı aşağıdaki gibidir:

Not: mybatis-generator eklentisini nasıl kullanacağınızı bilmiyorsanız, lütfen diğer makaleme bakın: Mybatis-Generator eklentisinin kullanımı ve Spring entegrasyonu Mybatis yapılandırması

Dao katmanıyla ilgili kodu ve dosyaları oluşturduktan sonra, SpringBoot yapılandırma dosyasının biçimini .yml olarak değiştirin ve yapılandırma içeriğini aşağıdaki gibi düzenleyin:

sunucu:

bağlantı noktası: 8080

bahar:

veri kaynağı:

isim: mybatis_test

# Druid bağlantı havuzunu kullanın

tür: com.alibaba.druid.pool.DruidDataSource

#druid İlgili yapılandırma

druid:

# İzleme istatistikleri engelleme filtreleri

filtreler: istatistik

sürücü sınıfı adı: com.mysql.jdbc.Driver

# Temel özellikleri yapılandırın

url: jdbc: mysql: /// okul? useUnicode = truecharacterEncoding = UTF-8allowMultiQueries = true

kullanıcı adı: kök

şifre: şifre

# Yapılandırma başlangıç boyutu / min / maks

başlangıç boyutu: 1

min-boşta: 1

maks-aktif: 20

# Bağlantı bekleme zaman aşımını alın

maks. bekleme: 60000

# Kapatılması gereken boşta bağlantıları tespit etmek için test edilecek aralık ne sıklıkla

tahliye arası çalıştırma süresi: 60000

# Havuzdaki bir bağlantının minimum hayatta kalma süresi

dakika-tahliye edilebilir-boşta-zaman-milis: 300000

doğrulama sorgusu: SELECT'x '

boşta iken test: doğru

ödünç alma testi: yanlış

iade-üzerine-test: yanlış

#Open PSCache ve her bağlantıda PSCache boyutunu belirtin. Oracle true olarak ayarlandı, mysql false olarak ayarlandı. Daha fazla alt veritabanı ve alt tablo var, bunu false olarak ayarlamanız önerilir

havuzda hazırlanmış ifadeler: yanlış

max-pool-hazırlanmış-ifade-başına-bağlantı-boyutu: 20

mybatis:

# Eşleme dosyasının yolu

eşleyici konumları: sınıf yolu: eşleyiciler / *. xml

# Pojo sınıfının bulunduğu paket yolu

tür-diğer adlar-paketi: org.zero01.example.demo.pojo

Yapılandırma dosyasını düzenledikten sonra, SpringBoot'un başlangıç sınıfını açın ve dao katman arayüzünün bulunduğu paket yoluna işaret etmek için @MapperScan ek açıklamasını ekleyin:

@SpringBootApplication

@MapperScan ("com.example.demo.dao")

public class DemoApplication {

public static void main (String args) {

SpringApplication.run (DemoApplication.class, args);

}

}

Ardından, test etmeye başlayabiliriz. İlk olarak, ClsMapper arayüzünü açın ve aşağıdaki gibi bu arayüz için hızlıca test senaryoları oluşturmak için Shift + Ctrl + T kısayol tuşlarına basın:

Test edilecek yöntemi seçin. Sorgu yöntemini burada yalnızca bir gösteri olarak test edeceğim:

Test senaryosunun temel kodunu oluşturduktan sonra, aşağıdaki gibi ilgili kodu da kendimiz yazmamız gerekir:

@RunWith (SpringRunner.class)

@Hayalhanemersin

public class ClsMapperTest {

@Autowired

özel ClsMapper clsMapper;

@Ölçek

public void selectByPrimaryKey () {

Cls cls = clsMapper.selectByPrimaryKey (1);

Assert.assertNotNull (cls);

Assert.assertEquals ((Tamsayı) 1, cls.getCid ());

System.out.println (cls);

}

}

Test senaryosunu çalıştırın, konsol çıkışı aşağıdaki gibidir:

Not: toString yöntemi Cls sınıfında geçersiz kılınır

Yukarıdaki gibi, test sonuçlarından testin başarılı olduğu görülebilir, ardından SpringBoot entegrasyonumuz Mybatis tamamlanmıştır.

"Uptown-Ancient Bridges, Gujings ve Ancient Alleys Üç Efsanesi" nin ilk sergisi sizi bu eski şeyleri yeniden yaşamaya götürüyor
önceki
Nakit bonus olarak 140 milyon yuan dağıtmak niyetinde! City Media'nın geçen yıl işletme geliri geçen yıla göre% 10 arttı
Sonraki
Yibin'de bir adama ayrım gözetmeksizin park cezası verildi ve bir arkadaş çevresinde polise hakaret ettiği için 12 gün tutuklu kaldı!
Hangzhou-Huangzhou yüksek hızlı demiryolu hattı boyunca kapsamlı yenileme, bu yıl 12 milyon metrekarelik yıkımı tamamlamayı planlıyor
korkunç! Guilin'de 18 yaşındaki bir adam neredeyse hayati tehlike oluşturan bir soğuk algınlığı geçirdi ve şu ana kadar hastaneye kaldırıldı.
West Lake Servis Kiosku yükseltildi!
"Üçüncü Lupin" çizgi romanının yazarı vefat etti ve başyapıtı Çinli okuyucular tarafından görmezden gelinmiştir.
İkinci parti barışı koruma helikopter birimlerimiz görev süresi boyunca üçüncü ekipman doğrulamasını yüksek standartlarla geçti
Volkswagen'in keskin yorumu | Proje uygulaması "hizmete" bağlıdır, hizmet iyi değilse ne yapmalıyım?
Jinghai Bölgesinde kötü bir grup yok edildi, ana suçlu 12 yıl hapis cezasına çarptırıldı.
Neden hashcode \ equals yeniden yazılsın? Genç programcılar röportajlarda nadiren net konuşurlar
İki Van Gogh resmi çalındıktan 17 yıl sonra kurtarıldı ve boyası düşüp restore edilerek yeniden sergilendi
Yakışıklı kara panter Hangzhou Wildlife World'de
sahte! "Notre Dame de Paris'e bağış yapın ve Fransa Cumhurbaşkanı anıta gitmenize izin versin"
To Top