Maison  >  Article  >  base de données  >  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
PHPzavant
2023-05-26 12:07:061805parcourir

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
);

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);

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;
}

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();
}

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);
    }
}

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>

É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();
}

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);
    }
}

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer