>  기사  >  Java  >  스프링 부트에서의 MyBatis 구성 가이드

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

王林
王林원래의
2024-02-26 08:57:051226검색

基于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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.