一、springboot 集成mybatis 连接MySQL

SpringBoot 集成Mybatis 连接MySQL
刚开始学,搞这个搞了我好久。。。。记一下笔记。
![在这里插入图片描述](https://img-blog.csdnimg.cn/2019090720323381.png)

	***1、在pom.xml中添加依赖***:
		<dependencies>
	 <parent>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-parent</artifactId>
      <version>2.0.4.RELEASE</version>
      <relativePath />
  </parent>
 <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
      </dependency>

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

      <!-- 映入tomcat -->
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
      </dependency>

    <!-- 整合ssm -->
    <dependency>
      <groupId>org.mybatis.spring.boot</groupId>
      <artifactId>mybatis-spring-boot-starter</artifactId>
      <version>1.3.2</version>
    </dependency>

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

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

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

      <dependency>
          <groupId>org.mybatis</groupId>
          <artifactId>mybatis</artifactId>
          <version>3.4.5</version>
      </dependency>
       <dependency>
      <groupId>org.mybatis.spring.boot</groupId>
      <artifactId>mybatis-spring-boot-starter</artifactId>
      <version>1.3.0</version>
    </dependency>
  </dependencies>
  
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <!-- 没有该配置,devtools 不生效 -->
                <configuration>
                    <fork>true</fork>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.1</version>
            </plugin>
        </plugins>

————————————————————————
2、在application.properties中配置:*

book.author=hzw
book.name=springboot
##连接数据库
spring.datasource.url=jdbc:mysql://localhost:3306/book?useUnicode=true&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=hu123
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

#mybatis.typeAliasesPackage= com.hu.springboot.test.dao
##如果BookMapper类和BookMapper.xml不在同一个路径下时用mapper-locations指定BookMapper.xml的路径
mybatis.mapper-locations = classpath:BookMapper.xml

##配置端口号
server.port=8012

————————————————————————————
3、实体类Book

package com.hu.springboot.test.dao;

public class Book {
    private int bookId;
    private String bookName;
    private String bookAuthor;
    private int bookPice;

    public int getBookId() {
        return bookId;
    }
    public void setBookId(int bookId) {
        this.bookId = bookId;
    }
    public String getBookName() {
        return bookName;
    }
    public void setBookName(String bookName) {
        this.bookName = bookName;
    }
    public String getBookAuthor() {
        return bookAuthor;
    }
    public void setBookAuthor(String bookAuthor) {
        this.bookAuthor = bookAuthor;
    }
    public int getBookPice() {
        return bookPice;
    }
    public void setBookPice(int bookPice) {
        this.bookPice = bookPice;
    }
}

————————————————————————————————————
4、启动类TestSpringBootStarter

package com.hu.springboot.test;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class TestSpringBootStarter {
    public static void main(String[] args){
        SpringApplication.run(TestSpringBootStarter.class, args);
    }
}

—————————————————————————————————————
5、Mybatis的接口IBookMapper.java。

package com.hu.springboot.test.dao;

import org.apache.ibatis.annotations.Mapper;
import java.util.List;

@Mapper     
public interface IBookMapper {
    public void insert(Book book);//插入数据
    public List<Book> find(int id);//查找数据
}

——————————————————————————————————————
6、对应的mapper文件,BookMapper.xml,插入数据和查找数据的程序都是在这个XML文件中生成,这个xml我放在了resources中。

<?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.hu.springboot.test.dao.IBookMapper">   <!--Mybatis的接口IBookMapper路径-->

    <insert id="insert" parameterType="com.hu.springboot.test.dao.Book">         <!-- 实体类Book路径-->
        INSERT INTO BookMast(bookId, bookName, bookAuthor, bookPice) VALUE(#{bookId},#{bookName},#{bookAuthor},#{bookPice});
    </insert>

<select id="find" parameterType="int" resultType="com.hu.springboot.test.dao.Book">
    SELECT * FROM bookmast  where bookId =#{id};
</select>
</mapper>

–————————————————————————————————————
7、service层的接口

package com.hu.springboot.test.service;

import com.hu.springboot.test.dao.Book;
import java.util.List;

public interface IBookService {
    public List<Book> find(int id);
    public boolean insert(Book book);//插入数据
}

——————————————————————————————————————
8、 service层的接口的实现类

package com.hu.springboot.test.service;

import com.hu.springboot.test.dao.Book;
import com.hu.springboot.test.dao.IBookMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;

@Service
public class BookService implements IBookService{
    @Autowired
    private IBookMapper iBookMapper;
    @Override
    public List<Book> find(int id) {
        return iBookMapper.find(id);
    }
    @Override
    public boolean insert(Book book){
        if(null!=book&&book.getBookId()!=0){
          iBookMapper.insert(book);
          return true;
        }
        return false;
    };
}

————————————————————————————————
9、Controller类 TestController

package com.hu.springboot.test.controller;

import com.hu.springboot.test.dao.Book;
import com.hu.springboot.test.service.IBookService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import java.util.List;

@RestController
@RequestMapping(value = "/controller")
public class TestController {
    @Autowired
    IBookService ibookService;
   @RequestMapping(value = "/test")
    public String test() {
        return "test is success;";
    }

    @Value("${book.author}")
    private String bookAuthor;

   @Value("${book.name}")
    private String bookName;

   @RequestMapping("/book")
    public String book(){
       return "BookName is "+bookName+", BookAuthor -is "+bookAuthor;
   }

    @GetMapping("/findbook/{id}")
    public List<Book> findbook(@PathVariable(value = "id") int id){
       return ibookService.find(id);
    }

    @PostMapping("/insertbook")
    public boolean insertbook(@RequestBody Book book){
        return ibookService.insert(book);
    }
}

在这里插入图片描述

Spring Boot application.ymlzhong MySQL配置:

spring:
  datasource:
    driver-class-name : com.mysql.cj.jdbc.Driver
    url : jdbc:mysql://localhost:3306/test?serverTimezone=UTC&characterEncoding=utf-8&autoReconnect=true&useUnicode=true
    username : root
    password : hu6339392
mybatis:
  mapper-locations: classpath:mapper/**/*.xml
  config-location: classpath:mybatis-config.xml

————————————————————————————————————

总结遇到的问题吧:

1、service层的实现类没加@Service,
2、Mybatis的接口IBookMapper上没加注解@Mapper。 (添加@Mapper注解是表明该接口是一个MyBatise中的Mapper,需要在每一个Mapper上添加注解,还有一个简单的方式是在配置类上添加@MapperScan(“org.sang.mapper”)注解,可以表示扫描org.sang.mapper包下所有接口作为Mapper,我在启动类上加了一下)
3、在application.properites中没有配置:
mybatis.mapper-locations = classpath:BookMapper.xml ##用mapper-locations指定BookMapper.xml的路径

由于我的BookMapper.xml放在resources中,因此我开始配置时是这样的:
					mybatis.mapper-locations = classpath:resource.BookMapper.xml    在这里多写了个resources,把resources.去掉就可以了。。。。。

一日一步,小步? 大步?
聚沙成塔,集腋成裘。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Spring Boot集成MyBatis并进行接口查询,你需要进行以下几个步骤: 1. 首先,在Spring Boot的配置文件中配置数据库连接信息,包括数据库URL、用户名、密码和驱动类等。\[1\] 2. 创建一个启动类,使用@SpringBootApplication注解标记该类为Spring Boot的启动类。在该类的main方法中,使用SpringApplication.run方法启动应用程序,并获取MybatisUtil和SimpleExecutorExample的实例。\[2\] 3. 在pom.xml文件中添加MySQL驱动和MyBatis的起步依赖。\[3\] 4. 使用MyBatis提供的逆向工程生成实体Bean、映射文件和DAO接口。可以使用MyBatis Generator或者MyBatis Plus等工具来生成这些文件。生成后,你可以在DAO接口中定义各种查询方法。 5. 在需要进行查询的地方,通过@Autowired注解注入DAO接口的实例,然后调用相应的查询方法即可。 这样,你就可以在Spring Boot集成MyBatis并进行接口查询了。记得在配置文件中配置好数据库连接信息,并生成相应的实体Bean、映射文件和DAO接口。 #### 引用[.reference_title] - *1* *2* [1. Springboot集成Mybatis](https://blog.csdn.net/u010502101/article/details/127656247)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [SpringBoot集成MyBatis](https://blog.csdn.net/m0_67391377/article/details/124777417)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值