溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

SpringBoot MyBatis怎么快速入門

發(fā)布時間:2022-04-02 16:38:28 來源:億速云 閱讀:208 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要介紹“SpringBoot MyBatis怎么快速入門”的相關(guān)知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“SpringBoot MyBatis怎么快速入門”文章能幫助大家解決問題。

一、MyBatis簡介

MyBatis 是一款優(yōu)秀的持久層框架,它支持自定義 SQL、存儲過程以及高級映射。MyBatis 免除了幾乎所有的 JDBC 代碼以及設(shè)置參數(shù)和獲取結(jié)果集的工作。MyBatis 可以通過簡單的 XML 或注解來配置和映射原始類型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 對象)為數(shù)據(jù)庫中的記錄。

二、MyBatis使用步驟

 1、MyBatis工程總體目錄結(jié)構(gòu)

SpringBoot MyBatis怎么快速入門

2、創(chuàng)建簡單的SpringBoot工程

SpringBoot MyBatis怎么快速入門
SpringBoot MyBatis怎么快速入門
SpringBoot MyBatis怎么快速入門

3、添加MyBatis依賴

  <!--MyBatis-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.32</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.6</version>
        </dependency>

SpringBoot MyBatis怎么快速入門

4、在數(shù)據(jù)庫創(chuàng)建USER表

SpringBoot MyBatis怎么快速入門

CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(20) NOT NULL  DEFAULT "" COMMENT "用戶名",
  `password` varchar(50) NOT NULL DEFAULT "" COMMENT "密碼",
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;

5、在application.properties配置數(shù)據(jù)庫連接信息

#數(shù)據(jù)庫相關(guān)配置
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?useSSL=false&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useAffectedRows=true
spring.datasource.username=root
spring.datasource.password=QQ796413

#mybaits配置
#mapper加載路徑
mybatis.mapper-locations= classpath:mapper/*.xml
#實體包位置
mybatis.type-aliases-package= com.example.mybatisdemo.entity
#myatbis配置文件
mybatis.config-location= classpath:mybatis-config.xml

6、創(chuàng)建USER表對應(yīng)的實體類

SpringBoot MyBatis怎么快速入門

package com.example.mybatisdemo.entity;

public class User {
    private int id;
    private String username;
    private String password;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username="" + username + """ +
                ", password="" + password + """ +
                "}";
    }

7、在mapper/UserMapper創(chuàng)建UserMapper.java

SpringBoot MyBatis怎么快速入門

package com.example.mybatisdemo.mapper;

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

@Mapper
public interface UserMapper{

     User findUserById(Integer id);
}

8、在service/UserService新建UserService.java

SpringBoot MyBatis怎么快速入門

package com.example.mybatisdemo.service;

import com.example.mybatisdemo.entity.User;

public interface UserService {
    User findUserById(Integer id);
}

9、在service/impl/UserServiceImpl 創(chuàng)建UserServiceImpl.java

SpringBoot MyBatis怎么快速入門

package com.example.mybatisdemo.service.impl;

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

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

        @Override
        public User findUserById(Integer id) {
            return userMapper.findUserById(id);
        }
}

10、在resources下新建mybatis-conf.xml

SpringBoot MyBatis怎么快速入門

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>
    <settings>
        <!--開啟日志-->
        <setting name="logImpl" value="STDOUT_LOGGING"/>
        <!--開啟駝峰命名法-->
        <setting name="mapUnderscoreToCamelCase" value="true"/>
        <!--開啟全局延遲加載-->
        <setting name="lazyLoadingEnabled" value="true"/>
        <!-- 集合為空時強制返回空集合實例而不是null -->
        <setting name="returnInstanceForEmptyRow" value="true"/>
        <!-- 結(jié)果集中value為空時保留key -->
        <setting name="callSettersOnNulls" value="true"/>
    </settings>
</configuration>

11、在resources下mapper文件下創(chuàng)建UserMapper.xml

SpringBoot MyBatis怎么快速入門

<?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">
<!--注意:1.這里的namespace要是你usermapper的位置-->
<mapper namespace="com.example.mybatisdemo.mapper.UserMapper">
    <!--注意這里的返回類型-->
    <resultMap id="BaseResultMap" type="com.example.mybatisdemo.entity.User">
        <result column="id" property="id"/>
        <result column="username" property="username"/>
        <result column="password" property="password"/>
    </resultMap>

    <!--2.id和你的方法名一樣,resultMap為上面的id名一致-->
    <select id="findUserById" resultMap="BaseResultMap">
        select
             id,
             username,
             password
        from
             user
        where
             id= #{id,jdbcType=INTEGER}
    </select>
</mapper>

12、創(chuàng)建UserController.java

SpringBoot MyBatis怎么快速入門

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.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class UserController {

    @Autowired
    UserService userService;

    @GetMapping("/findUserById")
    public User findUserById(@RequestParam Integer id){
       return userService.findUserById(1);
    }
}

13、測試

SpringBoot MyBatis怎么快速入門

關(guān)于“SpringBoot MyBatis怎么快速入門”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI