Maison > Java > javaDidacticiel > le corps du texte

Comment SpringBoot intègre Mongodb pour implémenter les ajouts, les suppressions et les modifications

王林
Libérer: 2023-05-13 14:07:16
avant
1154 Les gens l'ont consulté

1. Qu'est-ce que MongoDB

MongoDB est différent des bases de données relationnelles (MySQL, Oracle) que nous connaissons auparavant. MongoDB est une base de données de documents, qui possède l'évolutivité et la flexibilité requises, ainsi que les requêtes et index requis.

MongoDB stocke les données dans des documents flexibles de type JSON, ce qui signifie que les champs d'un document peuvent varier d'un document à l'autre et que la structure des données peut changer au fil du temps. Le modèle de document est mappé aux objets du code d'application, ce qui facilite l'utilisation des données. MongoDB est essentiellement une base de données distribuée, donc la haute disponibilité, l'évolutivité et la distribution géographique sont intégrées et faciles à utiliser. De plus, MongoDB est gratuit et open source.

2. Installez MongoDB sur Windows 10

Ouvrez le site officiel de MongoDB

Comment SpringBoot intègre Mongodb pour implémenter les ajouts, les suppressions et les modifications

Téléchargez la version MSI (version d'installation)

Comment SpringBoot intègre Mongodb pour implémenter les ajouts, les suppressions et les modifications

Lors du téléchargement, sélectionnez Personnalisé

Comment SpringBoot intègre Mongodb pour implémenter les ajouts, les suppressions et les modifications

Lors de l'installation, Soyez prudent ne pas le vérifier Installez le plug-in de visualisation, sinon l'installation sera très lente (sauf si votre vitesse Internet est suffisamment rapide)

Comment SpringBoot intègre Mongodb pour implémenter les ajouts, les suppressions et les modifications

3. Configurez le service MongoDB

Configurez les variables d'environnement

Copiez le chemin actuel

Comment SpringBoot intègre Mongodb pour implémenter les ajouts, les suppressions et les modifications

Poste de travail -> Clic droit ->Paramètres système avancés->Variables d'environnement->Variables système

Recherchez le chemin dans les variables système, modifiez et ajoutez le chemin copié ci-dessus

Comment SpringBoot intègre Mongodb pour implémenter les ajouts, les suppressions et les modifications

Quatre. Démarrez le service

win+R-> Entrez services.msc

Comment SpringBoot intègre Mongodb pour implémenter les ajouts, les suppressions et les modifications

Comment SpringBoot intègre Mongodb pour implémenter les ajouts, les suppressions et les modifications

Dans le navigateur. Une ligne anglaise apparaît, cela signifie que le service a démarré avec succès.

5. SpringBoot intègre MongoDB

Préparation de l'environnementComment SpringBoot intègre Mongodb pour implémenter les ajouts, les suppressions et les modifications

Système d'exploitation : Window10

IDE : IntelliJ IDEA 2018.2.4

Base de données : MongoDB1) Introduire les dépendances

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-mongodb</artifactId>
        </dependency>
Copier après la connexion

2) Ajoutez ce qui suit dans l'application. yml Configuration

spring:
  data:
    mongodb:
      uri: mongodb://localhost/test_mongodb
Copier après la connexion

Les informations de configuration complètes sont les suivantes :

spring:
  data:
    mongodb:
      authentication-database: # Authentication database name.
      database: # Database name.
      field-naming-strategy: # Fully qualified name of the FieldNamingStrategy to use.
      grid-fs-database: # GridFS database name.
      host: # Mongo server host. Cannot be set with URI.
      password: # Login password of the mongo server. Cannot be set with URI.
      port: # Mongo server port. Cannot be set with URI.
      repositories:
        type: # Type of Mongo repositories to enable.
      uri: # Mongo database URI. Cannot be set with host, port and credentials.
      username: # Login user of the mongo server. Cannot be set with URI.
Copier après la connexion

3) Ajoutez la classe d'entité UserEntity

public class UserEntity {
    @Id
    private String uid;
    private String username;
    private String password;
    public String getUid() {
        return uid;
    }
    public void setUid(String uid) {
        this.uid = uid;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    @Override
    public String toString() {
        return "UserEntity{" +
                "uid=&#39;" + uid + &#39;\&#39;&#39; +
                ", username=&#39;" + username + &#39;\&#39;&#39; +
                ", password=&#39;" + password + &#39;\&#39;&#39; +
                &#39;}&#39;;
    }
}
Copier après la connexion

4) Créez un nouveau test. Ici, j'utilise navicat comme outil de visualisation pour MongoDB.

Test 1 : Opération d'insertion

    @Autowired
    private MongoTemplate mongoTemplate;
    @Test
    public void saveUser(){
        UserEntity userEntity1 = new UserEntity();
        UserEntity userEntity2 = new UserEntity();
        UserEntity userEntity3 = new UserEntity();
        userEntity1.setUid("111");
        userEntity1.setUsername("用户1");
        userEntity1.setPassword("密码1");
        userEntity2.setUid("222");
        userEntity2.setUsername("用户2");
        userEntity2.setPassword("密码2");
        userEntity3.setUid("333");
        userEntity3.setUsername("用户3");
        userEntity3.setPassword("密码3");
        mongoTemplate.save(userEntity1);
        mongoTemplate.save(userEntity2);
        mongoTemplate.save(userEntity3);
    }
Copier après la connexion

Informations sur la base de données :

Vous pouvez voir que MongoDB a automatiquement créé la base de données et généré la collection via la classe d'entité (qui est ce que nous appelons souvent la table de données), et nous avons passé le MongoTemplate Insérez plusieurs documents (c'est-à-dire insérez plusieurs enregistrements) dans la collection userEntity de la base de données. Et

_id

est la clé primaire,

_class

est le nom du package de classe d'entité + le nom de la classe

Comment SpringBoot intègre Mongodb pour implémenter les ajouts, les suppressions et les modificationsTest 2 : Opération de requête

    @Autowired
    private MongoTemplate mongoTemplate;
	@Test
    public void findUserByUserName(){
        String username = "用户1";
        Query query=new Query(Criteria.where("username").is(username));
        UserEntity user =  mongoTemplate.findOne(query , UserEntity.class);
        System.out.println(user);
    }
Copier après la connexion

Résultat de sortie : UserEntity{uid='111', username='User 1 ', password='password1'}

Test 3 : Opération de mise à jour

  @Autowired
    private MongoTemplate mongoTemplate;    
	@Test
    public void updateUser(){
        UserEntity userEntity = new UserEntity();
        userEntity.setUid("111");
        userEntity.setUsername("更新后的用户名");
        userEntity.setPassword("更新后的密码");
        Query query = new Query(Criteria.where("_id").is(userEntity.getUid()));
        Update update = Update.update("username",userEntity.getUsername()).set("password",userEntity.getPassword());
        //更新返回结果集的第一条
        mongoTemplate.updateFirst(query,update,UserEntity.class);
        //更新返回结果集的所有
        //mongoTemplate.updateMulti(query,update,UserEntity.class);
    }
Copier après la connexion

La base de données mise à jour est comme indiqué dans l'image :

Test 4 : Opération de suppression

    @Autowired
    private MongoTemplate mongoTemplate; 
	@Test
    public  void DeleteByUserId(){
        String id = "222";
        Query query=new Query(Criteria.where("_id").is(id));
        mongoTemplate.remove(query,UserEntity.class);
    }
Copier après la connexion
La base de données après suppression est comme indiqué dans la photo :

Comment SpringBoot intègre Mongodb pour implémenter les ajouts, les suppressions et les modifications

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal