GOOGLE ADS

Sonntag, 24. April 2022

Mapper.xml-Datei kann nicht aufgerufen werden, indem Junit-Tests für die Anwendung verwendet werden, die mit Mybatis+Springboot entwickelt wurde

Ich bin ganz neu bei junit testing. So schreiben Sie einen echten Datenbankaufruf für Junit-Tests aus der Datei mybatis.xml. Bitte finden Sie den folgenden Code.

@RunWith(SpringRunner.class)
//@MybatisTest
@SpringBootTest
public class HotelMapperTest {
@Autowired
private HotelMapper hotelMapper;
@Test
public void selectByCityIdTest() {
Hotel hotel = hotelMapper.selectByCityId(1);
assertThat(hotel.getName()).isEqualTo("Conrad Treasury Place");
assertThat(hotel.getAddress()).isEqualTo("William & George Streets");
assertThat(hotel.getZip()).isEqualTo("4001");
}

Wenn ich die Junit-Tests ausführe, erhalte ich die folgende Ausnahme:
org.apache.ibatis.binding.BindingException: Ungültige gebundene Anweisung (nicht gefunden):

Hier ist meine Frage, wie wir die echte Datenbank testen werden, wenn @MybatisTest aktiviert ist Auf der Suche nach einer Datenquelle haben wir bereits alle Eigenschaften in application.properties angegeben. In dieser Zeit bekomme ich die folgende Ausnahme:
Verursacht durch: org.springframework.beans.factory.BeanCreationException: Fehler beim Erstellen einer Bean mit dem Namen 'dataSource':


Lösung des Problems

Sie können den Speicherort des mybatis-Mappers in der Spring-Konfigurationsdatei (z. B. application.yml) konfigurieren.

mybatis-Konfiguration:

mybatis:
mapper-locations:
- classpath*:mapper/*.xml

Keine Kommentare:

Kommentar veröffentlichen

Warum werden SCHED_FIFO-Threads derselben physischen CPU zugewiesen, obwohl CPUs im Leerlauf verfügbar sind?

Lösung des Problems Wenn ich das richtig verstehe, versuchen Sie, SCHED_FIFO mit aktiviertem Hyperthreading ("HT") zu verwenden, ...