SpringBoot集成Mybatis

Posted lisin-lee-cooper

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot集成Mybatis相关的知识,希望对你有一定的参考价值。

一.快速新建SpringBoot项目


二.pom文件

<dependencies>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.2.2</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.12</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

三.application.properties

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis-demo?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=

mybatis.mapper-locations=classpath:mapper/*Mapper.xml
mybatis.type-aliases-package=com.example.mybatisdemo.entity
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
logging.level.com.example.mapper=debug


四.项目结构

五.代码实现

5.1 UserController

package com.example.mybatisdemo.controller;

import com.example.mybatisdemo.entity.User;
import com.example.mybatisdemo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class UserController 


    @Autowired
    private UserService userService;

    @RequestMapping("/user/id")
    public User GetUser(@PathVariable Integer id) 
        return userService.selectById(id);
    




5.2 UserService

package com.example.mybatisdemo.service;

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

@Service
public class UserService 

    @Autowired
    UserMapper userMapper;

    public User selectById(Integer id)
        return userMapper.selectById(id);
    




5.3 UserMapper

package com.example.mybatisdemo.mapper;

import com.example.mybatisdemo.entity.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

@Mapper
public interface UserMapper 

    User selectById(@Param("id") Integer id);



5.4 User entity

package com.example.mybatisdemo.entity;

import lombok.Data;

@Data
public class User 

    private Integer id;
    private String name;
    private String cellphone;



5.5 Mapper.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.mybatisdemo.mapper.UserMapper">

    <select id="selectById" resultType="com.example.mybatisdemo.entity.User">
        select * from User where id = #id
    </select>

</mapper>

5.6 sql

CREATE TABLE `User` (
  `id` int NOT NULL,
  `name` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `cellphone` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

insert into User values (1"张三""13355589956";

六. 测试结果
http://localhost:8080/user/1

以上是关于SpringBoot集成Mybatis的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot 集成MyBatis

springboot+mybatis+mysql集成搭建

springBoot集成MyBatis

SpringBoot——SpringBoot集成MyBatis

springboot集成mybatis

SpringBoot+Mybatis集成搭建