首页 > 其他分享 >SpringBoot整合Mybatis

SpringBoot整合Mybatis

时间:2022-12-02 21:11:13浏览次数:40  
标签:xml SpringBoot 创建 mybatis 添加 datasource 整合 spring Mybatis

Springboot整合mybatis

在 Spring+SpringMVC 中整合 MyBatis 步骤需要在配置文件里配置多个 Bean,比如MapperScannerConfigurer,SqlSessionFactoryBean 等,步骤还是比较复杂的,Spring Boot 中对此做了进一步的简化,使 MyBatis 基本上可以做到开箱即用,本章来学习怎么在 Spring Boot 中整合Mybatis,也就是搭建SSM环境 。

Spring Boot中整合mybatis,主要有两种方式。

方式1:xml文件

方式2:注解方式

一 方式1 使用XML方式整合Mybatis

使用Xml方式也就是将Sql语句写在**Mapper.xml文件中

1.先用idea创建一个添加mybatis需要的相关依赖的工程。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

创建出来的项目结构如下:

在这里插入图片描述

2.准备数据库和表

在这里插入图片描述

3.创建表映射类

在这里插入图片描述

之前创建表映射类时,我们是手动添加set,get,toString方法和构造方法等,比如像这样

在这里插入图片描述

现在,我们可以添加一个Lombok 依赖来简化这些代码

Lombok 是一种 Java 实用工具,可用来帮助开发人员消除 Java 的冗长,尤其是对于简单的 Java 对象(POJO)。它通过注释实现这一目的。通过在开发环境中实现  Lombok,开发人员可以节省构建诸如 hashCode()和equals() 这样的方法以及以往用来分类各种 accessor 和 mutator 的大量时间。

在这里插入图片描述

<!--简化bean代码-->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
</dependency>

添加需要的注解,通过注解来实现自动帮我们加入get,set,构造方法等。

@Data  /* 生成getter,setter ,toString等函数*/
@NoArgsConstructor /*生成无参构造函数*/
@AllArgsConstructor /*生成有参构造函数*/

在这里插入图片描述

package com.test.ssm.pojo;


import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data  /* 生成getter,setter ,toString等函数*/
@NoArgsConstructor /*生成无参构造函数*/
@AllArgsConstructor /*生成有参构造函数*/
public class Users {

    private int id;

    private String uname;

    private String pwd;


}

4.创建mapper文件

4.1创建UsersMapper.xml文件,并添加sql语句

<?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.test.ssm.mapper.UsersMapper">

    <select id="getAllUsers" resultType="Users">
        SELECT * FROM users
    </select>
</mapper>

在这里插入图片描述

4.2 创建mapper对应的代理接口

在这里插入图片描述

5.创建Service层和Service的实现层

在这里插入图片描述

在这里插入图片描述

6.创建控制层(也就是web层)

在这里插入图片描述

7.添加配置信息

7.1添加数据库链接信息和设置mybatis中的别名信息

#数据源配置
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.url=jdbc:mysql://localhost:3306/boot?characterEncoding=utf8&serverTimezone=GMT%2B8

#mybatis配置
mybatis.type-aliases-package=com.test.ssm.pojo

在这里插入图片描述

7.2在应用程序入口类上配置@MapperScan扫描mapper接口文件所在包!

在这里插入图片描述

@MapperScan(basePackages = "com.test.ssm.mapper")

7.3 在pom.xml文件中添加识别java目录下xml文件的配置

这是Maven 带来的问题,就是 java 目录下的 xml 资源在项目打包时会被忽略掉,所以,如果 UsersMapper.xml 放在Java目录下,需要在 pom.xml 文件中再添加如下配置,避免打包时 java 目录下的 XML 文件被自动忽略掉:

<resources>
    <resource>
        <directory>src/main/java</directory>
        <includes>
            <include>**/*.xml</include>
        </includes>
    </resource>
    <resource>
        <directory>src/main/resources</directory>
    </resource>
</resources>

在这里插入图片描述

8.运行

在这里插入图片描述

在这里插入图片描述

二 方式2 使用注解方式整合Mybatis

方式2和方式1相比,主要是mapper文件的区别,所以除了第4和第7步有点不一样以外,其它步骤相同。

1.先用idea创建一个添加mybatis需要的相关依赖的工程。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

创建出来的项目结构如下:

在这里插入图片描述

2.准备数据库和表

在这里插入图片描述

3.创建表映射类

在这里插入图片描述

之前创建表映射类时,我们是手动添加set,get,toString方法和构造方法等,比如像这样

在这里插入图片描述

现在,我们可以添加一个Lombok 依赖来简化这些代码

Lombok 是一种 Java 实用工具,可用来帮助开发人员消除 Java 的冗长,尤其是对于简单的 Java 对象(POJO)。它通过注释实现这一目的。通过在开发环境中实现  Lombok,开发人员可以节省构建诸如 hashCode()和equals() 这样的方法以及以往用来分类各种 accessor 和 mutator 的大量时间。

在这里插入图片描述

添加需要的注解,通过注解来实现自动帮我们加入get,set,构造方法等。

@Data  /* 生成getter,setter ,toString等函数*/
@NoArgsConstructor /*生成无参构造函数*/
@AllArgsConstructor /*生成有参构造函数*/

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Gucvji3j-1669985359061)(pic/f12.png)]

4.创建mapper代理接口

​ 不需要创建UsersMapper.xml文件,只需要创建UsersMapper接口就可以,将之前xml文件中的sql语句通过注解的方式写到接口中。

在这里插入图片描述

5.创建Service层和Service的实现层

在这里插入图片描述

在这里插入图片描述

6.创建控制层(也就是web层)

在这里插入图片描述

7.添加配置信息

7.1添加数据库链接信息和设置mybatis中的别名信息

#数据源配置
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.url=jdbc:mysql://localhost:3306/boot?characterEncoding=utf8&serverTimezone=GMT%2B8

#mybatis配置
mybatis.type-aliases-package=com.test.ssm.pojo

在这里插入图片描述

7.2在应用程序入口类上配置@MapperScan扫描mapper接口文件所在包!

在这里插入图片描述

8.运行

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YiuIdGw6-16在这里插入图片描述

在这里插入图片描述

标签:xml,SpringBoot,创建,mybatis,添加,datasource,整合,spring,Mybatis
From: https://www.cnblogs.com/daimenglaoshi/p/16945622.html

相关文章

  • mybatis
    Mybatis-9.28环境:JDK1.8Mysql5.7maven3.6.1IDEA回顾:JDBCMysqlJava基础MavenJunitMyBatisMyBatis是一款持久层框架避免了所有......
  • SpringBoot
    自动装配原理从Spring的IOC到SpringBoot的自动装配原理DeferedImportSelector对Bean加载顺序的影响(当然是由@Import导入的)  DeferedImportSelector有一个分组的概念......
  • SpringBoot Maven多模块项目 mapper.xml 文件扫描不到问题
    项目使用的是SpringBoot+MybatisPlus,maven多模块项目,其中有多个模块的resource下面有Mapper.xml文件。这点是问题的前提。。。。。在配置文件里面也指定了mybatis-plus......
  • Springboot 获取 resource 下的文件夹路径的坑
    现在有个需求是需要利用模板文件生成HTML或者PDF文件,然后由于HTML模板文件里面包含图片和字体,然后我就在resource文件夹下新建了一个文件夹,然后又分类,也就是resource......
  • 【Springboot】Json转换工具
    HttpClient请求数据后是json字符串,需要我们自己把Json字符串反序列化为对象,我们会使用JacksonJson工具来实现。JacksonJson是SpringMVC内置的json处理工具,其中有一个Objec......
  • 【Day01】初始Springboot
    初始Springboot:学习目标1.了解SpringBoot1.1.什么是SpringBoot1.2.为什么要学习SpringBoot1.3.SpringBoot的特点2.快速入门2.1.创建工程2.2.添加依赖2.2.1.添......
  • 【问题】Unknown return value type: java.lang.Integer springboot插入数据 报错
    很诡异的事情发生了。。。。。。。在使用springboot搭建一个springboot整合mybatis的demo时,测试插入数据的方法,数据成功插入数据库了,但是控制台却报了这个错,提示为止返回类......
  • SpringBoot+ElasticSearch 实现模糊查询,批量CRUD,排序,分页,高亮!
    导入elasticsearch依赖创建高级客户端基本用法创建、判断存在、删除索引对文档的CRUD批量CRUD数据查询所有、模糊查询、分页查询、排序、高亮显示总结大致流程......
  • SpringBoot 整合 Groovy 脚本,实现动态编程!
    Groovy简介Groovy是增强Java平台的唯一的脚本语言。它提供了类似于Java的语法,内置映射(Map)、列表(List)、方法、类、闭包(closure)以及生成器。脚本语言不会替代系统编程......
  • 基于SpringBoot分层2开发web应用学习笔记之控制器的理解以及常见注解
    在SpringMVC中,控制器负责处理由DIspatchServlet接收并分发过来的请求。它把用户请求的数据通过业务处理层封装成一个Model,然后把该model返回给对应的View进行展示。Contro......