• springboot整合mybatis(配置模式+注解模式)


    前言
    ??作者简介:我是,一名热爱技术的在校学生。
    ??个人主页:的主页
    ??如果文章知识点有错误的地方,请指正!和大家一起学习,一起进步??
    ??如果感觉博主的文章还不错的话,??点赞?? + ??关注?? + ??收藏??

    springboot整合mybatis

    一.简单介绍

    1.配置相关的依赖
    2.配置模式
    在这里插入图片描述
    3写.mapper、controller、service
    4.配置yaml文件 配置mybatis全局配置文件
    (这里我使用的是配置模式+注解模式所以需要配置全局文件)

    二具体配置

    2.1.配置相关的依赖.

    当然也可以在创建springboot的时候勾选对应的功能

    		
                mysql
                mysql-connector-java
                8.0.25
            
            
            
            
                org.mybatis.spring.boot
                mybatis-spring-boot-starter
                2.1.3
            
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    2.2 写.mapper、controller、service

    在写这个之前话要写基本的pojo
    在这里插入图片描述

    pojo相关 这里使用了 lombok

    package com.xbfinal.pojo;
    
    import lombok.AllArgsConstructor;
    import lombok.Data;
    import lombok.NoArgsConstructor;
    
    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    public class ssmdb {
        private Integer id;
        private String name;
        private String type;
        private String description;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    2.2.1mapper文件

    话不多说注意代码的注释

    package com.xbfinal.mapper;
    
    
    import com.xbfinal.pojo.ssmdb;
    import org.apache.ibatis.annotations.Mapper;
    import org.apache.ibatis.annotations.Select;
    
    import java.util.List;
    
    @Mapper
    public interface ssmdbMapper {
    
        //更具id查对应的书用注解模式
        @Select("select * from tbl_book where id=#{id}")
        public ssmdb getById(int id);
    
        //查询所有的书 ,这里我们用配置模式
        //配置模式我个人喜欢用来写复制的sql语句(狗头)
        public List getAll();
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    2.2.2service文件

    一般用来实现mapper的 直接看代码

    package com.xbfinal.service;
    
    import com.xbfinal.mapper.ssmdbMapper;
    import com.xbfinal.pojo.ssmdb;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    
    import java.util.List;
    
    @Service
    public class ser {
        @Autowired
        ssmdbMapper ssmdbMapper;
        public ssmdb getById(int id){
            return ssmdbMapper.getById(id);
        }
        public List getAll(){
            return ssmdbMapper.getAll();
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    2.2.2controller文件

    package com.xbfinal.controller;
    
    import com.xbfinal.pojo.ssmdb;
    import com.xbfinal.service.ser;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    import java.util.List;
    
    @RestController
    public class controller01 {
        @Autowired
        ser ser;
        @RequestMapping("/id")
        public String to01(){
            
         final ssmdb byId = ser.getById(1);
            return byId.toString();
        }
        @RequestMapping("/all")
        public String to02(){
            // final ssmdb byId = ser.getById(1);
    
            final List all = ser.getAll();
            return all.toString();
        }
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29

    2.3配置相关文件

    1.写mysql的文件。写在application.yaml文件中

    spring:
      datasource:
        password: 0615
        username: root
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://localhost:3306/ssm_db?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    2.由于用配置模式+注解模式所以需要配置mybatis全局文件
    在这里插入图片描述

    在static文件下创建mybatis文件夹然后创建配置文件如下

    
    
    
        
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    接着在mapper文件下写mybatis对应的mapper配置
    在这里插入图片描述

    
    
    
        
        
        
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    最后在yaml文件中配好mybatis

    在这里插入图片描述

    mybatis:
      config-location: classpath:static/mybatis/mybatis-config.xml
      mapper-locations: classpath:static/mybatis/mapper/*.xml
    
    • 1
    • 2
    • 3

    三、结果截图

    在这里插入图片描述
    在这里插入图片描述

    数据库
    在这里插入图片描述

    四、可能遇到的报错

    SpringBoot连接数据库报错:Access denied for user ‘root‘@‘localhost‘ (using password: YES)

    解决方案
    检查自己的mysql配置是否正确如果正确尝试一下把密码加上""如图

    在这里插入图片描述

    更多内容
    在这里插入图片描述

  • 相关阅读:
    初识Thymeleaf
    leetcode 1423. Maximum Points You Can Obtain from Cards(从牌中能得到的最大点数和)
    uni-app 微信小程序中如何通过 canvas 画布实现电子签名?
    kafka复习:(25)kafka stream
    20212313-吴剑标-移动平台开发与实践大作业
    C++ 课本习题(程序设计题)
    基于51单片机交通信号灯仿真_东西管制+南北管制
    JavaScript【Array.isArray()、push()/pop()、shift()/unshift()、join()、concat()、reverse() 、slice()】(六)
    海贝造音强势登陆深圳 助力本土原创音乐升阶
    solidty-基础篇-结构体和数组,私有 / 公共函数,函数的返回值和修饰符,事件
  • 原文地址:https://blog.csdn.net/m0_66557301/article/details/126041282