Heim Java javaLernprogramm Implementieren Sie ORM-Mapping basierend auf Spring Boot und MyBatis Plus

Implementieren Sie ORM-Mapping basierend auf Spring Boot und MyBatis Plus

Jun 22, 2023 pm 09:27 PM
spring boot orm映射 mybatis plus

Im Entwicklungsprozess von Java-Webanwendungen wird die ORM-Mapping-Technologie (Object-Relational Mapping) verwendet, um relationale Daten in der Datenbank Java-Objekten zuzuordnen, was Entwicklern den Zugriff auf und die Bedienung von Daten erleichtert. Als eines der derzeit beliebtesten Java-Webentwicklungs-Frameworks bietet Spring Boot eine Möglichkeit zur Integration von MyBatis, und MyBatis Plus ist ein auf MyBatis basierendes ORM-Framework. In diesem Artikel wird erläutert, wie Sie Spring Boot und MyBatis Plus zum Implementieren der ORM-Zuordnung verwenden.

1. Spring Boot integriert MyBatis Plus
Die Verwendung von MyBatis Plus in Spring Boot ist sehr einfach, fügen Sie einfach die Abhängigkeit von MyBatis Plus zu Maven hinzu.

<dependency>
  <groupId>com.baomidou</groupId>
  <artifactId>mybatis-plus-boot-starter</artifactId>
  <version>3.4.2</version>
</dependency>
Nach dem Login kopieren

Gleichzeitig konfigurieren Sie MyBatis Plus-bezogene Parameter in application.properties oder application.yml, wie unten gezeigt:

#数据库配置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456
#MyBatis Plus配置
mybatis.configuration.cache-enabled=false
mybatis.mapper-locations=classpath:mapper/*.xml
Nach dem Login kopieren

Unter diesen sind Treiberklassenname, URL, Benutzername und Passwort datenbankbezogene Konfigurationen Mapper-Locations sind der Pfad, in dem sich die SQL-Mapping-Konfigurationsdatei von MyBatis Plus befindet.

2. Definieren Sie Entitätsklassen und Mapper-Schnittstellen
Wie bei MyBatis erfordert die Verwendung von MyBatis Plus auch die Definition von Entitätsklassen und Mapper-Schnittstellen. Im Folgenden wird eine einfache Benutzertabelle als Beispiel verwendet, um die entsprechende Entitätsklasse und Mapper-Schnittstelle zu definieren.

  1. Entitätsklassen definieren
@Getter
@Setter
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class User {

    private Integer id;
    private String name;
    private Integer age;
    private String email;
    private Integer gender;
    private LocalDateTime createTime;
    private LocalDateTime updateTime;

}
Nach dem Login kopieren

Die Verwendung der Annotationen @Getter, @Setter und @Builder kann den Code vereinfachen, während @NoArgsConstructor und @AllArgsConstructor zum Generieren von Konstruktoren ohne Parameter und mit vollständigen Parametern verwendet werden.

  1. Definieren Sie die Mapper-Schnittstelle
public interface UserMapper extends BaseMapper<User> {
}
Nach dem Login kopieren

Hier kommt der von MyBatis Plus bereitgestellte BaseMapper zum Einsatz, der viele mühsame SQL-Operationen ersparen kann.

3. Verwenden Sie MyBatis Plus für Datenbankoperationen
Nachdem Sie die Mapper-Schnittstelle definiert haben, können Sie MyBatis Plus für Datenbankoperationen verwenden.

  1. Daten einfügen
User user = User.builder()
        .name("test")
        .age(20)
        .email("test@test.com")
        .gender(1)
        .createTime(LocalDateTime.now())
        .updateTime(LocalDateTime.now())
        .build();
int count = userMapper.insert(user);
Nach dem Login kopieren

Beim Einfügen von Daten können Sie direkt die in der Mapper-Schnittstelle bereitgestellte Einfügemethode verwenden, und MyBatis Plus ordnet die Attribute der Entitätsklasse automatisch den entsprechenden Spalten in der Datenbank zu.

  1. Daten abfragen
List<User> userList = userMapper.selectList(null);
Nach dem Login kopieren

Beim Abfragen von Daten können Sie direkt die in der Mapper-Schnittstelle bereitgestellte selectList-Methode verwenden und null oder ein leeres QueryWrapper-Objekt übergeben, um alle Daten abzufragen. Darüber hinaus können Sie auch von MyBatis Plus bereitgestellte Lambda-Ausdrücke und Kettenoperationen verwenden, um komplexere Abfragen durchzuführen, wie unten gezeigt:

QueryWrapper<User> wrapper = Wrappers.<User>lambdaQuery()
        .eq(User::getGender, 1)
        .ge(User::getAge, 20)
        .orderByDesc(User::getCreateTime);
List<User> userList = userMapper.selectList(wrapper);
Nach dem Login kopieren

Im obigen Code wird ein QueryWrapper mithilfe von Wrappers definiert.lambdaQuery() Object, und erstellen Sie Abfragebedingungen und Sortierregeln durch .eq-, .ge- und .orderByDesc-Kettenoperationen.

  1. Daten aktualisieren
User user = userMapper.selectById(id);
user.setAge(30);
int count = userMapper.updateById(user);
Nach dem Login kopieren

Beim Aktualisieren von Daten können Sie zunächst die zu aktualisierenden Daten über selectById abfragen, dann die zu aktualisierenden Attribute ändern und updateById verwenden, um die geänderten Daten in der Datenbank zu aktualisieren.

  1. Daten löschen
int count = userMapper.deleteById(id);
Nach dem Login kopieren

Zum Schluss rufen Sie beim Löschen von Daten einfach die Methode deleteById auf, die in der Mapper-Schnittstelle bereitgestellt wird.

4. Fazit
In diesem Artikel wird erläutert, wie Sie mit Spring Boot und MyBatis Plus die ORM-Zuordnung implementieren und Datenbankoperationen durch einfache Konfiguration und Code erreichen können. MyBatis Plus kann als Erweiterungsframework von MyBatis die Arbeitsbelastung des Entwicklers erheblich vereinfachen und gleichzeitig die Lesbarkeit und Wartbarkeit des Codes verbessern. Aus Platzgründen wird in diesem Artikel nur die grundlegende Verwendung von MyBatis Plus vorgestellt. Weitere Informationen zu erweiterten Funktionen finden Sie in der offiziellen Dokumentation.

Das obige ist der detaillierte Inhalt vonImplementieren Sie ORM-Mapping basierend auf Spring Boot und MyBatis Plus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Spring Boot+MyBatis+Atomikos+MySQL (mit Quellcode) Spring Boot+MyBatis+Atomikos+MySQL (mit Quellcode) Aug 15, 2023 pm 04:12 PM

In tatsächlichen Projekten versuchen wir, verteilte Transaktionen zu vermeiden. Manchmal ist es jedoch wirklich notwendig, einige Dienste aufzuteilen, was zu Problemen bei verteilten Transaktionen führt. Gleichzeitig werden in Vorstellungsgesprächen auch verteilte Transaktionen auf dem Markt gefragt. Sie können diesen Fall üben und im Vorstellungsgespräch über 123 sprechen.

Erreichen Sie mehrsprachige Unterstützung und internationale Anwendungen durch Spring Boot Erreichen Sie mehrsprachige Unterstützung und internationale Anwendungen durch Spring Boot Jun 23, 2023 am 09:09 AM

Mit der Entwicklung der Globalisierung müssen immer mehr Websites und Anwendungen mehrsprachige Unterstützung und Internationalisierungsfunktionen bieten. Für Entwickler ist die Implementierung dieser Funktionen keine leichte Aufgabe, da sie die Berücksichtigung vieler Aspekte erfordert, wie z. B. Sprachübersetzung, Datums-, Zeit- und Währungsformate usw. Mithilfe des SpringBoot-Frameworks können wir jedoch problemlos mehrsprachige Unterstützung und internationale Anwendungen implementieren. Lassen Sie uns zunächst die von SpringBoot bereitgestellte LocaleResolver-Schnittstelle verstehen. Ort

So verwenden Sie Spring Boot zum Erstellen von Big-Data-Verarbeitungsanwendungen So verwenden Sie Spring Boot zum Erstellen von Big-Data-Verarbeitungsanwendungen Jun 23, 2023 am 09:07 AM

Mit dem Aufkommen des Big-Data-Zeitalters beginnen immer mehr Unternehmen, den Wert von Big Data zu verstehen, zu erkennen und ihn auf das Geschäft anzuwenden. Das damit verbundene Problem besteht darin, mit diesem großen Datenfluss umzugehen. In diesem Fall sind Big-Data-Verarbeitungsanwendungen zu etwas geworden, das jedes Unternehmen in Betracht ziehen muss. Für Entwickler ist auch die Verwendung von SpringBoot zum Erstellen einer effizienten Big-Data-Verarbeitungsanwendung ein sehr wichtiges Thema. SpringBoot ist ein sehr beliebtes Java-Framework, das dies ermöglicht

Implementieren Sie ORM-Mapping basierend auf Spring Boot und MyBatis Plus Implementieren Sie ORM-Mapping basierend auf Spring Boot und MyBatis Plus Jun 22, 2023 pm 09:27 PM

Im Entwicklungsprozess von Java-Webanwendungen wird die ORM-Mapping-Technologie (Object-RelationalMapping) verwendet, um relationale Daten in der Datenbank Java-Objekten zuzuordnen, sodass Entwickler bequem auf Daten zugreifen und diese bearbeiten können. Als eines der derzeit beliebtesten Java-Webentwicklungs-Frameworks bietet SpringBoot eine Möglichkeit zur Integration von MyBatis, und MyBatisPlus ist ein auf MyBatis basierendes ORM-Framework.

Integration und Nutzung von Spring Boot und NoSQL-Datenbank Integration und Nutzung von Spring Boot und NoSQL-Datenbank Jun 22, 2023 pm 10:34 PM

Mit der Entwicklung des Internets sind Big-Data-Analyse und Echtzeit-Informationsverarbeitung zu einem wichtigen Bedarf für Unternehmen geworden. Um diesen Anforderungen gerecht zu werden, erfüllen herkömmliche relationale Datenbanken nicht mehr die Anforderungen der Geschäfts- und Technologieentwicklung. Stattdessen ist die Verwendung von NoSQL-Datenbanken zu einer wichtigen Option geworden. In diesem Artikel besprechen wir die Verwendung von SpringBoot, das in NoSQL-Datenbanken integriert ist, um die Entwicklung und Bereitstellung moderner Anwendungen zu ermöglichen. Was ist eine NoSQL-Datenbank? NoSQL ist nicht nur SQL

Erstellen Sie ein ESB-System mit Spring Boot und Apache ServiceMix Erstellen Sie ein ESB-System mit Spring Boot und Apache ServiceMix Jun 22, 2023 pm 12:30 PM

Da moderne Unternehmen immer mehr auf eine Vielzahl unterschiedlicher Anwendungen und Systeme angewiesen sind, wird die Unternehmensintegration noch wichtiger. Enterprise Service Bus (ESB) ist ein Integrationsarchitekturmodell, das verschiedene Systeme und Anwendungen miteinander verbindet, um gemeinsame Datenaustausch- und Nachrichtenroutingdienste bereitzustellen und eine Anwendungsintegration auf Unternehmensebene zu erreichen. Mit SpringBoot und ApacheServiceMix können wir ganz einfach ein ESB-System erstellen. In diesem Artikel wird die Implementierung vorgestellt. SpringBoot und A

Methoden zur Aufgabenplanung und geplanten Aufgabenimplementierung von Spring Boot Methoden zur Aufgabenplanung und geplanten Aufgabenimplementierung von Spring Boot Jun 22, 2023 pm 11:58 PM

SpringBoot ist ein sehr beliebtes Java-Entwicklungsframework. Es bietet nicht nur den Vorteil einer schnellen Entwicklung, sondern verfügt auch über viele integrierte praktische Funktionen. Zu den häufig verwendeten Funktionen zählen unter anderem die Aufgabenplanung und geplante Aufgaben. In diesem Artikel werden die Aufgabenplanungs- und Timing-Task-Implementierungsmethoden von SpringBoot untersucht. 1. Einführung in die SpringBoot-Aufgabenplanung Die SpringBoot-Aufgabenplanung (TaskScheduling) bezieht sich auf die Ausführung einiger spezieller Aufgaben zu einem bestimmten Zeitpunkt oder unter bestimmten Bedingungen.

Erstellen Sie Desktop-Anwendungen mit Spring Boot und JavaFX Erstellen Sie Desktop-Anwendungen mit Spring Boot und JavaFX Jun 22, 2023 am 10:55 AM

Da sich die Technologie ständig weiterentwickelt, können wir nun verschiedene Technologien zum Erstellen von Desktop-Anwendungen verwenden. SpringBoot und JavaFX gehören mittlerweile zu den beliebtesten Optionen. Dieser Artikel konzentriert sich auf die Verwendung dieser beiden Frameworks zum Erstellen einer funktionsreichen Desktop-Anwendung. 1. Einführung in SpringBoot und JavaFXSpringBoot ist ein schnelles Entwicklungsframework, das auf dem Spring-Framework basiert. Es hilft Entwicklern, schnell Webanwendungen zu erstellen und gleichzeitig eine Reihe von bereitzustellen

See all articles