Rumah >Java >javaTutorial >Panduan Konfigurasi untuk MyBatis di bawah Spring Boot

Panduan Konfigurasi untuk MyBatis di bawah Spring Boot

王林
王林asal
2024-02-26 08:57:051266semak imbas

基于Spring Boot的MyBatis配置详解

Penjelasan terperinci tentang konfigurasi MyBatis berdasarkan Spring Boot

Spring Boot ialah rangka kerja untuk pembangunan aplikasi pantas dan MyBatis ialah rangka kerja kegigihan yang popular. Menggunakan MyBatis dalam Spring Boot boleh memudahkan proses capaian pangkalan data dan ketekunan data. Artikel ini akan menerangkan secara terperinci cara mengkonfigurasi dan menggunakan MyBatis dalam Spring Boot dan memberikan contoh kod khusus.

1. Konfigurasi MyBatis

  1. Tambah kebergantungan yang berkaitan

Sebelum menggunakan MyBatis, anda perlu menambah kebergantungan yang berkaitan dalam fail pom.xml.

<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.1.4</version>
</dependency>
  1. Konfigurasikan sumber data

Dalam Spring Boot, anda boleh menggunakan pangkalan data H2 terbenam sebagai demonstrasi. Tambah konfigurasi berikut dalam fail 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. Konfigurasi MyBatis

Tambah konfigurasi berikut dalam fail application.properties:

mybatis.mapper-locations=classpath:mapper/*.xml
mybatis.type-aliases-package=com.example.domain

Antaranya, lokasi pemeta menentukan MyBatis fail pemetaan Lokasi, type-aliases-package menentukan nama pakej kelas entiti. 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

    Buat kelas entiti

    Buat kelas Pengguna sebagai contoh kelas entiti:

    rrreee
      🎜Buat antara muka Mapper 🎜🎜🎜Buat antara muka UserMapper, dalam antara muka Tentukan operasi pangkalan data yang perlu dilakukan: 🎜rrreee
        🎜Buat fail pemetaan Mapper🎜🎜🎜Buat folder pemeta dalam direktori sumber, dan cipta fail UserMapper.xml dalam folder: 🎜rrreee🎜II , Gunakan MyBatis untuk operasi pangkalan data🎜🎜🎜Tulis kelas Perkhidmatan🎜🎜🎜Tulis kelas UserService untuk melaksanakan operasi pangkalan data tertentu:🎜rrreee🎜🎜Tulis kelas Pengawal dan permintaan luar Kelas🎜🎜 untuk menerima Controller panggil kaedah Perkhidmatan Sepadan: 🎜rrreee🎜🎜Mulakan aplikasi🎜🎜🎜Tulis kelas permulaan dan tambah @SpringBootApplication anotasi: 🎜rrreee
          🎜Uji antara muka🎜🎜 Ya Gunakan alatan seperti Postman untuk menghantar permintaan HTTP dan menguji panggilan antara muka. Contohnya, hantar permintaan GET: localhost:8080/users/1 untuk menanyakan maklumat pengguna dengan ID 1. 🎜🎜Kesimpulan🎜🎜Artikel ini menerangkan secara terperinci proses mengkonfigurasi dan menggunakan MyBatis dalam projek berasaskan Spring Boot, dan menyediakan contoh kod yang berkaitan. Melalui langkah di atas, anda boleh menyepadukan dan menggunakan MyBatis dengan mudah untuk operasi pangkalan data dalam projek Spring Boot anda. Harap artikel ini membantu anda! 🎜

Atas ialah kandungan terperinci Panduan Konfigurasi untuk MyBatis di bawah Spring Boot. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn