MyBaties 및 MySql 종속성을 소개할 필요가 없습니다
CREATE TABLE sp_users( `id` INT PRIMARY KEY, `username` VARCHAR(30), `age` INT );
이 오류가 처음에 계속 나타나서 내 인생을 의심하게 만들었습니다. 마지막 줄은 추가할 수 없습니다. ' , 사물은 변하고 사람은 변합니다.
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);
Lombok이 도입되었기 때문에
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; }
를 사용하여 application.yaml
#datasource
spring:
datasource:
URL: jdbc:mysql :///springboot?serverTimezone=UTC
사용자 이름: root
비밀번호: 비밀번호
드라이버 클래스 이름: com.mysql.cj.jdbc.Driver
방법 1, 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(); }
테스트 클래스 구성
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); } }
Rendering
방법 2 XML 파일 구성
Write xml 파일, 네임스페이스는 전체 경로를 복사해야 함, 참조 복사/복사
<?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>
Write User X mlMapper 인터페이스 , @Repository의 기능은 테스트 클래스의 폭발 문제를 해결하는 것입니다. 그러나 폭발은 프로그램 실행에 영향을 미치지 않습니다.
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(); }
YAML 구성, *Mapper 값은 Mapper 접미사가 있는 모든 xml 파일입니다
mybatis:
mapper-locations: classpath:mapper/*Mapper.xml
type-aliases-package: com.you.boot . domain
Write 테스트 클래스
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); } }
Effect
위 내용은 SpringBoot가 mybatis를 도입하고 Mysql 데이터베이스에 연결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!