Maison > Article > base de données > Comment SpringBoot introduit mybatis et se connecte à la base de données Mysql
Pas besoin d'entrer dans les détails, introduire les dépendances MyBaties et 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.
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);
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
Méthode 1, créer l'interface UserMapper
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
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
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
<?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.
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
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
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!