springboot整合mybatis

举报
笑霸final 发表于 2022/05/10 08:42:56 2022/05/10
【摘要】 @[TOC](springboot整合mybatis )# 一.简单介绍>1.配置相关的依赖2.配置模式![在这里插入图片描述](https://img-blog.csdnimg.cn/c637e3c2168d4a2195f7c48f52019dd0.png)3写.mapper、controller、service4.配置yaml文件 配置mybatis全局配置文件(这里我使用的是配置模式+...


@[TOC](springboot整合mybatis )
# 一.简单介绍
>1.配置相关的依赖
2.配置模式
![在这里插入图片描述](https://img-blog.csdnimg.cn/c637e3c2168d4a2195f7c48f52019dd0.png)
3写.mapper、controller、service
4.配置yaml文件 配置mybatis全局配置文件
(这里我使用的是配置模式+注解模式所以需要配置全局文件)


# 二具体配置
## 2.1.配置相关的依赖.
当然也可以在创建springboot的时候勾选对应的功能

```xml
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.25</version>
        </dependency>
        <!--mybatis整合springboot起步依赖-->
        <!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.3</version>
        </dependency>

```
## 2.2 写.mapper、controller、service
在写这个之前话要写基本的pojo
![在这里插入图片描述](https://img-blog.csdnimg.cn/e3fc96689bb84ce8a635c78759af50f3.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA56yR6Zy4ZmluYWw=,size_9,color_FFFFFF,t_70,g_se,x_16)
>`pojo相关 这里使用了 lombok`
```cpp
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;
}

```

### 2.2.1mapper文件
>话不多说注意代码的注释

```java
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<ssmdb> getAll();

}


```
### 2.2.2service文件
>`一般用来实现mapper的 直接看代码`

```java
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<ssmdb> getAll(){
        return ssmdbMapper.getAll();
    }
}

```
###  2.2.2controller文件

```java
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<ssmdb> all = ser.getAll();
        return all.toString();
    }

}

```


## 2.3配置相关文件
>1.写mysql的文件。写在application.yaml文件中 

```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

```

>2.由于用配置模式+注解模式所以需要配置mybatis全局文件
>![在这里插入图片描述](https://img-blog.csdnimg.cn/c23a9685003e4d67a6f4d9aeda17a6b0.png)

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

```xml
<?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>
    <!--基本的东西都不用配置,因为springboot配好了-->
</configuration>
```
>接着在mapper文件下写mybatis对应的mapper配置
>![在这里插入图片描述](https://img-blog.csdnimg.cn/714d47f4180644baa49240c1332c06a0.png)

```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.xbfinal.mapper.ssmdbMapper">
    
    <!--public List<ssmdb> getAll();-->
    <select id="getAll" resultType="com.xbfinal.pojo.ssmdb">
        select * from tbl_book
    </select>
</mapper>


```
>最后在yaml文件中配好mybatis

![在这里插入图片描述](https://img-blog.csdnimg.cn/cf28410d60bb4267a9941970df588139.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA56yR6Zy4ZmluYWw=,size_20,color_FFFFFF,t_70,g_se,x_16)

```yaml
mybatis:
  config-location: classpath:static/mybatis/mybatis-config.xml
  mapper-locations: classpath:static/mybatis/mapper/*.xml
```

# 三、结果截图
![在这里插入图片描述](https://img-blog.csdnimg.cn/8a0d626347af4abb8878a7ec7c35ca3b.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA56yR6Zy4ZmluYWw=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/c8869427a5d94f008cec0716f69c4dbd.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA56yR6Zy4ZmluYWw=,size_20,color_FFFFFF,t_70,g_se,x_16)


>数据库
>![在这里插入图片描述](https://img-blog.csdnimg.cn/f23032d94f5a4f2ca338f9cece57bcb1.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA56yR6Zy4ZmluYWw=,size_20,color_FFFFFF,t_70,g_se,x_16)

# 四、可能遇到的报错
## SpringBoot连接数据库报错:Access denied for user ‘root‘@‘localhost‘ (using password: YES)
>解决方案
>`检查自己的mysql配置是否正确如果正确尝试一下把密码加上""如图`

![在这里插入图片描述](https://img-blog.csdnimg.cn/45c73744f12b4c9da4c14bf5758ce190.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA56yR6Zy4ZmluYWw=,size_20,color_FFFFFF,t_70,g_se,x_16)

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。