SpringBoot가 mybatis를 도입하고 Mysql 데이터베이스에 연결하는 방법

PHPz
풀어 주다: 2023-05-26 12:07:06
앞으로
1863명이 탐색했습니다.

SpringBoot 프로젝트 만들기

MyBaties 및 MySql 종속성을 소개할 필요가 없습니다

SpringBoot가 mybatis를 도입하고 Mysql 데이터베이스에 연결하는 방법

Create mysql table

CREATE TABLE sp_users(
	`id` INT PRIMARY KEY,
	`username` VARCHAR(30),
	`age` INT
);
로그인 후 복사

이 오류가 처음에 계속 나타나서 내 인생을 의심하게 만들었습니다. 마지막 줄은 추가할 수 없습니다. ' , 사물은 변하고 사람은 변합니다.

SpringBoot가 mybatis를 도입하고 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);
로그인 후 복사

SpringBoot가 mybatis를 도입하고 Mysql 데이터베이스에 연결하는 방법

엔터티 클래스 작성

SpringBoot가 mybatis를 도입하고 Mysql 데이터베이스에 연결하는 방법

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

Mapper 구성

방법 1, UserMapper 인터페이스 생성

SpringBoot가 mybatis를 도입하고 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();
}
로그인 후 복사

테스트 클래스 구성

SpringBoot가 mybatis를 도입하고 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);
    }
}
로그인 후 복사

Rendering

SpringBoot가 mybatis를 도입하고 Mysql 데이터베이스에 연결하는 방법

방법 2 XML 파일 구성

Write xml 파일, 네임스페이스는 전체 경로를 복사해야 함, 참조 복사/복사

SpringBoot가 mybatis를 도입하고 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>
로그인 후 복사

Write User X mlMapper 인터페이스 , @Repository의 기능은 테스트 클래스의 폭발 문제를 해결하는 것입니다. 그러나 폭발은 프로그램 실행에 영향을 미치지 않습니다.

SpringBoot가 mybatis를 도입하고 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();
}
로그인 후 복사

YAML 구성, *Mapper 값은 Mapper 접미사가 있는 모든 xml 파일입니다

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

Write 테스트 클래스

SpringBoot가 mybatis를 도입하고 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);
    }
}
로그인 후 복사

Effect

SpringBoot가 mybatis를 도입하고 Mysql 데이터베이스에 연결하는 방법

위 내용은 SpringBoot가 mybatis를 도입하고 Mysql 데이터베이스에 연결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:yisu.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿