Heim Java javaLernprogramm Verwendung von MyBatis zur Implementierung von Datenzugriff und -persistenz in Spring Boot

Verwendung von MyBatis zur Implementierung von Datenzugriff und -persistenz in Spring Boot

Jun 22, 2023 pm 02:37 PM
spring boot mybatis 持久化

Spring Boot ist ein Framework für die schnelle Entwicklung, das Entwicklern dabei helfen kann, schnell WEB-Anwendungen zu erstellen. MyBatis ist ein hervorragendes ORM-Framework, das den Datenzugriff und die Persistenz zwischen Java und Datenbanken vereinfachen kann. In diesem Artikel wird erläutert, wie Sie mit MyBatis Datenzugriff und -persistenz in Spring Boot implementieren.

1. Spring Boot integriert MyBatis.

  1. Abhängigkeiten hinzufügen.

Konfigurieren Sie die Datenquelle

Fügen Sie die Datenbankverbindungseigenschaft in application.properties hinzu:
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>1.3.1</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.42</version>
    </dependency>
    Nach dem Login kopieren
  1. Hier verwenden wir die MySQL-Datenbank und verbinden uns mit dem Root-Konto mit dem Passwort 123456.

Konfigurieren Sie MyBatis

Spring Boot scannt standardmäßig automatisch den Mapper-Pfad in application.properties:
    spring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=false
    spring.datasource.username=root
    spring.datasource.password=123456
    spring.datasource.driverClassName=com.mysql.jdbc.Driver
    Nach dem Login kopieren
  1. Diese Konfiguration zeigt an, dass sich die Mapper-Datei im Mapper-Ordner unter dem Projekt befindet Klassenpfad.
Nach Abschluss der obigen Konfiguration hat Spring Boot die Integration von MyBatis abgeschlossen.

2. Entitätsklassen und Mapper schreiben

Entitätsklassen schreiben

Eine Benutzerklasse definieren, um eine Benutzertabelle in der Datenbank darzustellen:
    mybatis.mapper-locations=classpath:mapper/*.xml
    Nach dem Login kopieren
  1. Mapper schreiben

Eine UserMapper-Schnittstelle zum Definieren einer Benutzertabelle hinzufügen, Lösch-, Änderungs- und Abfragevorgänge:
    public class User {
        private Long id;
        private String name;
        private Integer age;
        // 省略getter和setter方法
    }
    Nach dem Login kopieren
  1. Hier definieren wir die Methode zum Hinzufügen, Löschen, Ändern und Abfragen aller Benutzer.
3. Schreiben Sie Mapper.xml

Als nächstes müssen wir die Datei UserMapper.xml schreiben, um die in UserMapper definierten Operationen zu implementieren:

public interface UserMapper {
    void saveUser(User user);
    void updateUser(User user);
    void deleteUser(Long id);
    User findUserById(Long id);
    List<User> findAllUsers();
}
Nach dem Login kopieren

In dieser Datei implementieren wir alle in UserMapper definierten Methoden, wobei parameterType den Parameter darstellt Typ, resultType repräsentiert den Rückgabewerttyp.

4. Schreiben Sie die Service-Klasse und den Controller.

Schreiben Sie die Service-Klasse.

Definieren Sie eine UserService-Klasse, um die Operation der User-Tabelle zu kapseln:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
            "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    <mapper namespace="com.example.demo.mapper.UserMapper">
        <insert id="saveUser" parameterType="com.example.demo.entity.User">
            insert into user(name, age) values (#{name}, #{age})
        </insert>
    
        <update id="updateUser" parameterType="com.example.demo.entity.User">
            update user set name = #{name}, age = #{age} where id = #{id}
        </update>
    
        <delete id="deleteUser" parameterType="java.lang.Long">
            delete from user where id = #{id}
        </delete>
    
        <select id="findUserById" parameterType="java.lang.Long"
                resultType="com.example.demo.entity.User">
            select * from user where id = #{id}
        </select>
    
        <select id="findAllUsers" resultType="com.example.demo.entity.User">
            select * from user
        </select>
    </mapper>
    Nach dem Login kopieren
  1. In dieser Klasse verwenden wir die Annotation @Autowired, um den UserMapper einzufügen Das heißt, Sie können die in UserMapper definierten Methoden verwenden.

Schreiben Sie einen Controller

Definieren Sie eine UserController-Klasse, um die Hinzufügungs-, Lösch-, Änderungs- und Abfragevorgänge von Benutzern zu implementieren:
    @Service
    public class UserService {
        @Autowired
        private UserMapper userMapper;
    
        public void saveUser(User user) {
            userMapper.saveUser(user);
        }
    
        public void updateUser(User user) {
            userMapper.updateUser(user);
        }
    
        public void deleteUser(Long id) {
            userMapper.deleteUser(id);
        }
    
        public User findUserById(Long id) {
            return userMapper.findUserById(id);
        }
    
        public List<User> findAllUsers() {
            return userMapper.findAllUsers();
        }
    }
    Nach dem Login kopieren
  1. In dieser Klasse verwenden wir die Annotation @RestController, um anzugeben, dass die aktuelle Klasse ein Controller ist und verwenden Sie die Annotation @RequestMapping, um den Zugriffspfad anzugeben. Gleichzeitig wird UserService mithilfe der Annotation @Autowired injiziert, sodass die in UserService definierten Methoden verwendet werden können.
5. Testen

Jetzt haben wir die Konstruktion und Codierung des gesamten Projekts abgeschlossen. Als nächstes können wir Tools wie Postman verwenden, um die im Controller definierte API zu testen.

Verwenden Sie die POST-Anfrage, um Benutzerinformationen zu speichern. Der Anforderungstext lautet:

@RestController
@RequestMapping("/user")
public class UserController {
    @Autowired
    private UserService userService;

    @PostMapping("/")
    public String saveUser(@RequestBody User user) {
        userService.saveUser(user);
        return "success";
    }

    @PutMapping("/")
    public String updateUser(@RequestBody User user) {
        userService.updateUser(user);
        return "success";
    }

    @DeleteMapping("/{id}")
    public String deleteUser(@PathVariable Long id) {
        userService.deleteUser(id);
        return "success";
    }

    @GetMapping("/{id}")
    public User getUserById(@PathVariable Long id) {
        return userService.findUserById(id);
    }

    @GetMapping("/")
    public List<User> findAllUsers() {
        return userService.findAllUsers();
    }
}
Nach dem Login kopieren
.

Verwenden Sie die PUT-Anfrage, um Benutzerinformationen zu aktualisieren. Der Anforderungstext lautet:

{
    "name": "张三",
    "age": 18
}
Nach dem Login kopieren
GET-Anfrage zum Abrufen von Benutzerinformationen. Die URL lautet:

{
    "id": 1,
    "name": "李四",
    "age": 20
}
Nach dem Login kopieren
Booten und verwenden Sie ein einfaches Beispiel, um den gesamten Prozess zu veranschaulichen. MyBatis kann die Datenbankoperationen von Java-Programmen effizienter und präziser gestalten. Wenn Sie Datenbankoperationen in Spring Boot implementieren müssen, können Sie die Verwendung von MyBatis in Betracht ziehen.

Das obige ist der detaillierte Inhalt vonVerwendung von MyBatis zur Implementierung von Datenzugriff und -persistenz in Spring Boot. 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

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

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)

iBatis vs. MyBatis: Welches ist besser für Sie? iBatis vs. MyBatis: Welches ist besser für Sie? Feb 19, 2024 pm 04:38 PM

iBatis vs. MyBatis: Wofür sollten Sie sich entscheiden? Einführung: Mit der rasanten Entwicklung der Java-Sprache sind viele Persistenz-Frameworks entstanden. iBatis und MyBatis sind zwei beliebte Persistenz-Frameworks, die beide eine einfache und effiziente Lösung für den Datenzugriff bieten. In diesem Artikel werden die Funktionen und Vorteile von iBatis und MyBatis vorgestellt und einige spezifische Codebeispiele gegeben, die Ihnen bei der Auswahl des geeigneten Frameworks helfen. Einführung in iBatis: iBatis ist ein Open-Source-Persistenz-Framework

Ausführliche Erläuterung der Funktion „Tag festlegen' in den dynamischen SQL-Tags von MyBatis Ausführliche Erläuterung der Funktion „Tag festlegen' in den dynamischen SQL-Tags von MyBatis Feb 26, 2024 pm 07:48 PM

Interpretation der dynamischen SQL-Tags von MyBatis: Detaillierte Erläuterung der Verwendung von Set-Tags. MyBatis ist ein hervorragendes Persistenzschicht-Framework. Es bietet eine Fülle dynamischer SQL-Tags und kann Datenbankoperationsanweisungen flexibel erstellen. Unter anderem wird das Set-Tag zum Generieren der SET-Klausel in der UPDATE-Anweisung verwendet, die sehr häufig bei Aktualisierungsvorgängen verwendet wird. In diesem Artikel wird die Verwendung des Set-Tags in MyBatis ausführlich erläutert und seine Funktionalität anhand spezifischer Codebeispiele demonstriert. Was ist Set-Tag? Set-Tag wird in MyBati verwendet

Vergleichende Analyse der Funktionen und Leistung von JPA und MyBatis Vergleichende Analyse der Funktionen und Leistung von JPA und MyBatis Feb 19, 2024 pm 05:43 PM

JPA und MyBatis: Vergleichende Analyse von Funktion und Leistung Einführung: In der Java-Entwicklung spielt das Persistenz-Framework eine sehr wichtige Rolle. Zu den gängigen Persistenz-Frameworks gehören JPA (JavaPersistenceAPI) und MyBatis. In diesem Artikel wird eine vergleichende Analyse der Funktionen und Leistung der beiden Frameworks durchgeführt und spezifische Codebeispiele bereitgestellt. 1. Funktionsvergleich: JPA: JPA ist Teil von JavaEE und bietet eine objektorientierte Datenpersistenzlösung. Es wird eine Annotation oder X übergeben

Verschiedene Möglichkeiten, Batch-Löschvorgänge in MyBatis zu implementieren Verschiedene Möglichkeiten, Batch-Löschvorgänge in MyBatis zu implementieren Feb 19, 2024 pm 07:31 PM

Mehrere Möglichkeiten zur Implementierung von Batch-Löschanweisungen in MyBatis erfordern spezifische Codebeispiele. Aufgrund der zunehmenden Datenmenge sind Batch-Operationen in den letzten Jahren zu einem wichtigen Bestandteil von Datenbankoperationen geworden. In der tatsächlichen Entwicklung müssen wir häufig Datensätze in der Datenbank stapelweise löschen. Dieser Artikel konzentriert sich auf verschiedene Möglichkeiten zur Implementierung von Batch-Löschanweisungen in MyBatis und stellt entsprechende Codebeispiele bereit. Verwenden Sie das foreach-Tag, um eine Stapellöschung zu implementieren. MyBatis stellt das foreach-Tag bereit, mit dem ein Satz problemlos durchlaufen werden kann.

Ausführliche Erklärung zur Verwendung von MyBatis-Batch-Löschanweisungen Ausführliche Erklärung zur Verwendung von MyBatis-Batch-Löschanweisungen Feb 20, 2024 am 08:31 AM

Für eine ausführliche Erläuterung der Verwendung von MyBatis-Batch-Löschanweisungen sind spezifische Codebeispiele erforderlich. Einführung: MyBatis ist ein hervorragendes Persistenzschicht-Framework, das umfangreiche SQL-Operationsfunktionen bietet. In der tatsächlichen Projektentwicklung stoßen wir häufig auf Situationen, in denen Daten stapelweise gelöscht werden müssen. In diesem Artikel wird die Verwendung von MyBatis-Batch-Delete-Anweisungen ausführlich vorgestellt und spezifische Codebeispiele angehängt. Verwendungsszenario: Beim Löschen einer großen Datenmenge in der Datenbank ist es ineffizient, die Löschanweisungen einzeln auszuführen. An dieser Stelle können Sie die Batch-Löschfunktion von MyBatis verwenden

Detaillierte Erklärung des MyBatis-Cache-Mechanismus: Verstehen Sie das Cache-Speicherprinzip in einem Artikel Detaillierte Erklärung des MyBatis-Cache-Mechanismus: Verstehen Sie das Cache-Speicherprinzip in einem Artikel Feb 23, 2024 pm 04:09 PM

Ausführliche Erklärung des MyBatis-Caching-Mechanismus: Lesen Sie das Prinzip der Cache-Speicherung in einem Artikel. Einführung Bei der Verwendung von MyBatis für den Datenbankzugriff ist Caching ein sehr wichtiger Mechanismus, der den Zugriff auf die Datenbank effektiv reduzieren und die Systemleistung verbessern kann. In diesem Artikel wird der Caching-Mechanismus von MyBatis ausführlich vorgestellt, einschließlich Cache-Klassifizierung, Speicherprinzipien und spezifischen Codebeispielen. 1. Cache-Klassifizierung Der MyBatis-Cache ist hauptsächlich in zwei Typen unterteilt: Cache der ersten Ebene und Cache der zweiten Ebene. Der Cache der ersten Ebene ist ein Cache der SqlSession-Ebene

Ausführliche Erklärung des First-Level-Cache von MyBatis: Wie kann die Effizienz des Datenzugriffs verbessert werden? Ausführliche Erklärung des First-Level-Cache von MyBatis: Wie kann die Effizienz des Datenzugriffs verbessert werden? Feb 23, 2024 pm 08:13 PM

Ausführliche Erklärung des First-Level-Cache von MyBatis: Wie kann die Effizienz des Datenzugriffs verbessert werden? Während des Entwicklungsprozesses war der effiziente Datenzugriff schon immer einer der Schwerpunkte der Programmierer. Für Persistenzschicht-Frameworks wie MyBatis ist Caching eine der Schlüsselmethoden zur Verbesserung der Datenzugriffseffizienz. MyBatis bietet zwei Caching-Mechanismen: Cache der ersten Ebene und Cache der zweiten Ebene. Der Cache der ersten Ebene ist standardmäßig aktiviert. In diesem Artikel wird der Mechanismus des First-Level-Cache von MyBatis ausführlich vorgestellt und spezifische Codebeispiele bereitgestellt, um den Lesern ein besseres Verständnis zu erleichtern

Analysieren Sie den Caching-Mechanismus von MyBatis: Vergleichen Sie die Eigenschaften und die Verwendung des Caches der ersten Ebene und des Caches der zweiten Ebene Analysieren Sie den Caching-Mechanismus von MyBatis: Vergleichen Sie die Eigenschaften und die Verwendung des Caches der ersten Ebene und des Caches der zweiten Ebene Feb 25, 2024 pm 12:30 PM

Analyse des MyBatis-Caching-Mechanismus: Der Unterschied und die Anwendung von First-Level-Cache und Second-Level-Cache Im MyBatis-Framework ist Caching eine sehr wichtige Funktion, die die Leistung von Datenbankoperationen effektiv verbessern kann. Unter diesen sind der First-Level-Cache und der Second-Level-Cache zwei häufig verwendete Caching-Mechanismen in MyBatis. In diesem Artikel werden die Unterschiede und Anwendungen von First-Level-Cache und Second-Level-Cache im Detail analysiert und spezifische Codebeispiele zur Veranschaulichung bereitgestellt. 1. Level-1-Cache Der Level-1-Cache wird auch als lokaler Cache bezeichnet. Er ist standardmäßig aktiviert und kann nicht deaktiviert werden. Der Cache der ersten Ebene ist SqlSes

See all articles