> Java > java지도 시간 > 본문

스프링 부트에서의 MyBatis 구성 가이드

王林
풀어 주다: 2024-02-26 08:57:05
원래의
1215명이 탐색했습니다.

基于Spring Boot的MyBatis配置详解

Spring Boot 기반 MyBatis 구성에 대한 자세한 설명

Spring Boot는 신속한 애플리케이션 개발을 위한 프레임워크이며 MyBatis는 널리 사용되는 지속성 프레임워크입니다. Spring Boot에서 MyBatis를 사용하면 데이터베이스 액세스 및 데이터 지속성 프로세스를 단순화할 수 있습니다. 이 기사에서는 Spring Boot에서 MyBatis를 구성하고 사용하는 방법을 자세히 설명하고 구체적인 코드 예제를 제공합니다.

1. MyBatis 구성

  1. 관련 종속성 추가

MyBatis를 사용하기 전에 먼저 pom.xml 파일에 관련 종속성을 추가해야 합니다.

<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.1.4</version>
</dependency>
로그인 후 복사
  1. 데이터 소스 구성

Spring Boot에서는 내장된 H2 데이터베이스를 데모로 사용할 수 있습니다. application.properties 파일에 다음 구성을 추가합니다.

spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=
로그인 후 복사
  1. Configure MyBatis

application.properties 파일에 다음 구성을 추가합니다.

mybatis.mapper-locations=classpath:mapper/*.xml
mybatis.type-aliases-package=com.example.domain
로그인 후 복사

그 중 mapper-locations는 MyBatis를 지정합니다. 매핑 파일 위치, type-aliases-package는 엔터티 클래스의 패키지 이름을 지정합니다. mapper-locations指定了MyBatis映射文件的位置,type-aliases-package指定了实体类的包名。

  1. 创建实体类

创建一个User类作为示例实体类:

package com.example.domain;

public class User {
    private Long id;
    private String name;
    // 省略getter和setter方法
}
로그인 후 복사
  1. 创建Mapper接口

创建一个UserMapper接口,在接口中定义需要执行的数据库操作:

package com.example.mapper;

import com.example.domain.User;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface UserMapper {
    User getUserById(Long id);
    void saveUser(User user);
    void updateUser(User user);
    void deleteUser(Long id);
}
로그인 후 복사
  1. 创建Mapper映射文件

在resources目录下创建mapper文件夹,并在该文件夹下创建UserMapper.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.example.mapper.UserMapper">
    <resultMap id="BaseResultMap" type="com.example.domain.User">
        <id column="id" property="id" jdbcType="BIGINT"/>
        <result column="name" property="name" jdbcType="VARCHAR"/>
    </resultMap>
    <select id="getUserById" resultMap="BaseResultMap">
        SELECT * FROM user WHERE id = #{id}
    </select>
    <insert id="saveUser">
        INSERT INTO user(name) VALUES(#{name})
    </insert>
    <update id="updateUser">
        UPDATE user SET name = #{name} WHERE id = #{id}
    </update>
    <delete id="deleteUser">
        DELETE FROM user WHERE id = #{id}
    </delete>
</mapper>
로그인 후 복사

二、使用MyBatis进行数据库操作

  1. 编写Service类

编写一个UserService类,用于执行具体的数据库操作:

package com.example.service;

import com.example.domain.User;
import com.example.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class UserService {
    @Autowired
    private UserMapper userMapper;

    public User getUserById(Long id) {
        return userMapper.getUserById(id);
    }

    public void saveUser(User user) {
        userMapper.saveUser(user);
    }

    public void updateUser(User user) {
        userMapper.updateUser(user);
    }

    public void deleteUser(Long id) {
        userMapper.deleteUser(id);
    }
}
로그인 후 복사
  1. 编写Controller类

编写一个UserController类,用于接收外部请求并调用对应的Service方法:

package com.example.controller;

import com.example.domain.User;
import com.example.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/users")
public class UserController {
    @Autowired
    private UserService userService;

    @GetMapping("/{id}")
    public User getUserById(@PathVariable Long id) {
        return userService.getUserById(id);
    }

    @PostMapping("/")
    public void saveUser(@RequestBody User user) {
        userService.saveUser(user);
    }

    @PutMapping("/{id}")
    public void updateUser(@PathVariable Long id, @RequestBody User user) {
        user.setId(id);
        userService.updateUser(user);
    }

    @DeleteMapping("/{id}")
    public void deleteUser(@PathVariable Long id) {
        userService.deleteUser(id);
    }
}
로그인 후 복사
  1. 启动应用程序

编写一个启动类,并添加@SpringBootApplication注解:

package com.example;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
로그인 후 복사
  1. 测试接口

可以使用Postman等工具发送HTTP请求,测试接口的调用。例如,发送GET请求:localhost:8080/users/1

    엔티티 클래스 생성

    예제 엔터티 클래스로 User 클래스 생성:

    rrreee
      🎜Mapper 인터페이스 생성 🎜🎜🎜UserMapper 인터페이스 생성 인터페이스 수행해야 하는 데이터베이스 작업 정의: 🎜rrreee
        🎜매퍼 매핑 파일 생성🎜🎜🎜리소스 디렉터리에 매퍼 폴더를 생성하고 해당 폴더에 UserMapper.xml 파일을 생성합니다. 🎜rrreee🎜II, 데이터베이스 작업에 MyBatis를 사용하세요🎜🎜🎜서비스 클래스 작성🎜🎜🎜특정 데이터베이스 작업을 수행하는 UserService 클래스 작성:🎜rrreee🎜🎜컨트롤러 클래스 작성🎜🎜🎜외부 요청을 수신하고 해당 서비스 메소드 호출: 🎜rrreee🎜🎜애플리케이션 시작🎜🎜🎜시작 클래스 작성 및 @SpringBootApplication 주석 추가: 🎜rrreee
          🎜인터페이스 테스트🎜🎜🎜 예 Postman과 같은 도구를 사용하여 HTTP 요청을 보내고 인터페이스 호출을 테스트합니다. 예를 들어 GET 요청(localhost:8080/users/1)을 보내 ID 1의 사용자 정보를 쿼리합니다. 🎜🎜결론🎜🎜이 글에서는 Spring Boot 기반 프로젝트에서 MyBatis를 구성하고 사용하는 과정을 자세히 설명하고 관련 코드 예제를 제공합니다. 위의 단계를 통해 Spring Boot 프로젝트에서 데이터베이스 작업을 위해 MyBatis를 쉽게 통합하고 사용할 수 있습니다. 이 기사가 도움이 되기를 바랍니다! 🎜

위 내용은 스프링 부트에서의 MyBatis 구성 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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