Maison > base de données > tutoriel mysql > Comment SpringBoot introduit mybatis et se connecte à la base de données Mysql

Comment SpringBoot introduit mybatis et se connecte à la base de données Mysql

PHPz
Libérer: 2023-05-26 12:07:06
avant
1891 Les gens l'ont consulté

Créer un projet SpringBoot

Pas besoin d'entrer dans les détails, introduire les dépendances MyBaties et MySql

Comment SpringBoot introduit mybatis et se connecte à la base de données Mysql

Créer une table mysql

CREATE TABLE sp_users(
	`id` INT PRIMARY KEY,
	`username` VARCHAR(30),
	`age` INT
);
Copier après la connexion

Cette erreur n'arrêtait pas d'apparaître au début, ce qui m'a fait douter de ma vie. Le résultat est que le. la dernière ligne ne peut pas être ajoutée, ' , les choses changent et les gens changent.

Comment SpringBoot introduit mybatis et se connecte à la base de données Mysql

INSERT INTO sp_users(id,`username`,`age`) VALUES(1,"张三",11);
INSERT INTO sp_users(id,`username`,`age`) VALUES(2,"李四",21);
INSERT INTO sp_users(id,`username`,`age`) VALUES(3,"游坦之",800);
Copier après la connexion

Comment SpringBoot introduit mybatis et se connecte à la base de données Mysql

Ecriture de classes d'entités

Comment SpringBoot introduit mybatis et se connecte à la base de données Mysql

Parce que Lombok a été introduit, j'ai directement utilisé

package com.you.domain;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString
public class user {
    private int id;
    private String username;
    private int age;
}
Copier après la connexion

pour configurer application.yaml

#datasource
spring:
datasource :
URL : jdbc:mysql :///springboot?serverTimezone=UTC
nom d'utilisateur : root
mot de passe : votre mot de passe
nom de classe de pilote : com.mysql.cj.jdbc.Driver

Configurer Mapper

Méthode 1, créer l'interface UserMapper

Comment SpringBoot introduit mybatis et se connecte à la base de données Mysql

package com.you.mapper;
import com.you.domain.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
import java.util.List;
@Mapper
@Repository
public interface UserMapper {
    @Select("select * from sp_users")
    public List<User> findAll();
}
Copier après la connexion

Configurer la classe de test

Comment SpringBoot introduit mybatis et se connecte à la base de données Mysql

package com.you.boot;
import com.you.boot.domain.User;
import com.you.boot.mapper.UserMapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.List;
@SpringBootTest
class BootMybatis03ApplicationTests {
    @Autowired
    private UserMapper userMapper;
    @Test
    public void testFindAll()
    {
        List<User> list = userMapper.findAll();
        System.out.println(list);
    }
}
Copier après la connexion

Rendu

Comment SpringBoot introduit mybatis et se connecte à la base de données Mysql

Méthode 2 Configuration du fichier XML

Écrire le fichier XML, l'espace de noms doit copier le chemin complet, Copier/Copier la référence

Comment SpringBoot introduit mybatis et se connecte à la base de données Mysql

<?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.you.boot.mapper.UserXmlMapper">
    <select id="findAll" resultType="user">
        select * from sp_users
    </select>
</mapper>
Copier après la connexion

Écrire l'interface utilisateur XmlMapper , la fonction de @Repository est de résoudre le problème d'explosion dans la classe de test, bien que l'explosion n'affecte pas le fonctionnement du programme.

Comment SpringBoot introduit mybatis et se connecte à la base de données Mysql

package com.you.boot.mapper;
import com.you.boot.domain.User;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import java.util.List;
@Mapper
@Repository
public interface UserXmlMapper {
    public List<User> findAll();
}
Copier après la connexion

Configurez yaml, *La valeur du Mapper correspond à tous les fichiers XML avec le suffixe du Mapper

mybatis:
mapper-locations: classpath:mapper/*Mapper.xml
type-aliases-package: com.you.boot . domaine

Classe de test d'écriture

Comment SpringBoot introduit mybatis et se connecte à la base de données Mysql

package com.you.boot;
import com.you.boot.domain.User;
import com.you.boot.mapper.UserMapper;
import com.you.boot.mapper.UserXmlMapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.List;
@SpringBootTest
class BootMybatis03ApplicationTests {
    @Autowired
    private UserXmlMapper userXmlMapper;
    @Test
    public void testFindAll2()
    {
        List<User> list = userXmlMapper.findAll();
        System.out.println(list);
    }
}
Copier après la connexion

Effet

Comment SpringBoot introduit mybatis et se connecte à la base de données Mysql

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