Springboot整合mybatis的步骤

下面是我为您准备的完整攻略。

Spring Boot整合Mybatis的步骤

1. 添加Mybatis和Mybatis-spring-boot-starter依赖

在pom.xml文件中,添加如下的Mybatis和Mybatis-spring-boot-starter依赖:

<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.5.7</version>
</dependency>

<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.2.0</version>
</dependency>

2. 创建数据源配置

在application.properties或application.yml中配置数据源:

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/test_db?useSSL=false&characterEncoding=utf8&serverTimezone=Asia/Shanghai
    username: root
    password: password
    driver-class-name: com.mysql.cj.jdbc.Driver

3. 创建Mybatis配置

创建mybatis-config.xml文件,配置Mybatis,在其中配置Mapper扫描路径:

<!-- mybatis-config.xml文件 -->
<configuration>
    <typeAliases>
        <!-- 在这里配置要扫描的实体类的包路径 -->
        <package name="com.example.entity" />
    </typeAliases>
    <mappers>
        <!-- 在这里配置Mapper文件所在的包路径 -->
        <mapper class="com.example.mapper.UserMapper" />
    </mappers>
</configuration>

4. 创建Mapper

创建Mapper接口,定义SQL映射:

@Mapper
public interface UserMapper {
    @Select("SELECT * FROM user WHERE id = #{id}")
    User findById(@Param("id") Long id);
}

5. 创建实体类

创建实体类,对应数据库的表:

public class User {
    private Long id;
    private String name;
    private String gender;
    // getter和setter方法省略
}

6. 创建Service

创建Service层,实现业务逻辑:

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

    public User findById(Long id) {
        return userMapper.findById(id);
    }
}

7. 创建Controller

创建Controller层,接收请求并调用Service:

@RestController
@RequestMapping("/user")
public class UserController {
    @Autowired
    private UserService userService;

    @GetMapping("/{id}")
    public User findById(@PathVariable("id") Long id) {
        return userService.findById(id);
    }
}

8. 运行应用程序

运行应用程序,访问http://localhost:8080/user/1,即可看到id为1的用户信息。

示例说明

示例1

下面是一个简单的示例,展示如何使用Mybatis访问数据库。

  1. 创建一个Spring Boot应用程序。

  2. 添加Mybatis和Mybatis-spring-boot-starter依赖。

<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.5.7</version>
</dependency>

<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.2.0</version>
</dependency>
  1. 创建数据源配置。
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/test_db?useSSL=false&characterEncoding=utf8&serverTimezone=Asia/Shanghai
    username: root
    password: password
    driver-class-name: com.mysql.cj.jdbc.Driver
  1. 创建Mapper。
@Mapper
public interface UserMapper {
    @Insert("INSERT INTO user(name, gender) VALUES(#{name}, #{gender})")
    void addUser(User user);

    @Select("SELECT * FROM user WHERE id = #{id}")
    User findById(Long id);
}
  1. 创建实体类。
public class User {
    private Long id;
    private String name;
    private String gender;
    // getter和setter方法省略
}
  1. 创建Service。
@Service
public class UserService {
    @Autowired
    private UserMapper userMapper;

    public void addUser(User user) {
        userMapper.addUser(user);
    }

    public User findById(Long id) {
        return userMapper.findById(id);
    }
}
  1. 创建Controller。
@RestController
@RequestMapping("/user")
public class UserController {
    @Autowired
    private UserService userService;

    @PostMapping("/")
    public void addUser(@RequestBody User user) {
        userService.addUser(user);
    }

    @GetMapping("/{id}")
    public User findById(@PathVariable("id") Long id) {
        return userService.findById(id);
    }
}

示例2

下面是另一个示例,展示如何使用Mybatis实现多表关联查询。

  1. 创建一个Spring Boot应用程序。

  2. 添加Mybatis和Mybatis-spring-boot-starter依赖。

<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.5.7</version>
</dependency>

<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.2.0</version>
</dependency>
  1. 创建数据源配置。
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/test_db?useSSL=false&characterEncoding=utf8&serverTimezone=Asia/Shanghai
    username: root
    password: password
    driver-class-name: com.mysql.cj.jdbc.Driver
  1. 创建Mapper。
@Mapper
public interface OrderMapper {
    @Select("SELECT o.*, u.name AS user_name, p.name AS product_name, p.price FROM `order` o LEFT JOIN user u ON o.user_id = u.id LEFT JOIN product p ON o.product_id = p.id WHERE o.id = #{id}")
    OrderVO findById(@Param("id") Long id);
}
  1. 创建实体类。
public class Order {
    private Long id;
    private Long userId;
    private Long productId;
    // getter和setter方法省略
}
public class User {
    private Long id;
    private String name;
    // getter和setter方法省略
}
public class Product {
    private Long id;
    private String name;
    private double price;
    // getter和setter方法省略
}
public class OrderVO {
    private Long id;
    private Long userId;
    private String userName;
    private Long productId;
    private String productName;
    private double productPrice;
    // getter和setter方法省略
}
  1. 创建Service。
@Service
public class OrderService {
    @Autowired
    private OrderMapper orderMapper;

    public OrderVO findById(Long id) {
        return orderMapper.findById(id);
    }
}
  1. 创建Controller。
@RestController
@RequestMapping("/order")
public class OrderController {
    @Autowired
    private OrderService orderService;

    @GetMapping("/{id}")
    public OrderVO findById(@PathVariable("id") Long id) {
        return orderService.findById(id);
    }
}

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Springboot整合mybatis的步骤 - Python技术站

(0)
上一篇 2023年6月1日
下一篇 2023年6月1日

相关文章

  • SpringSecurity 测试实战

    下面是针对SpringSecurity测试实战的完整攻略。 SpringSecurity测试实战 准备工作 在进行测试实战之前,我们需要对环境进行配置和项目依赖的添加。 配置文件 在 application.properties 文件中添加如下配置: # 数据库配置 spring.datasource.url=jdbc:mysql://localhost:3…

    Java 2023年5月20日
    00
  • Spring框架初始化解析

    Spring框架初始化解析 Spring框架是由Java编写的一个轻量级的开源框架,主要用于开发企业级应用程序。Spring框架核心是IoC(控制反转)和AOP(面向切面编程)。在使用Spring框架之前,需要先对Spring框架的初始化有一定的认识。 Spring框架初始化步骤 Spring框架的初始化步骤如下: 创建BeanFactory对象 解析Bea…

    Java 2023年5月19日
    00
  • HTML5拖拽文件到浏览器并实现文件上传下载功能代码

    下面是具体的步骤和示例代码: 1. HTML代码 首先,在HTML中创建一个用于拖放的区域,用<div>或其他HTML元素包裹住: <div id="drag-box"> <p>将文件拖到此区域</p> </div> 2. JavaScript代码 然后,通过JavaScript…

    Java 2023年6月15日
    00
  • Jenkins自动化打包为war包

    下面是“Jenkins自动化打包为war包”的完整攻略。 1. 环境准备 在进行Jenkins自动化打包前,需要先做好以下环境准备: 安装并配置好Jenkins; 安装JDK,并配置好环境变量; 安装和配置好Tomcat服务器。 2. 创建Jenkins任务 接下来,我们需要在Jenkins中创建一个任务来进行自动打包。具体操作步骤如下: 在Jenkins首…

    Java 2023年5月19日
    00
  • java实现异步导出数据

    为了让读者更加易懂,本文将采用三个部分讲解异步导出数据。 1. 后端实现异步导出 对于导出数据这种后端耗时较长的操作,我们一般采用异步导出的方式来解决。下面是后端实现异步导出的主要步骤: 1.1 前端发起导出请求,后端生成导出任务 前端发起导出请求时,后端会先生成一个唯一的任务id,将任务id返回给前端,并把导出任务存储到数据库中。 1.2 后端异步执行导出…

    Java 2023年5月26日
    00
  • Java Spring框架的概述

    Java Spring框架是一个轻量级的应用程序框架,由许多模块组成,提供了针对企业级应用程序开发的全面支持。Spring框架采用了模块化的方法来设计,使得应用程序可以只包含其所需要的模块。此外,它还提供了面向切面编程的支持和对依赖注入的支持,这使得应用程序开发更加灵活和易于维护。 下面是几个Spring框架中最常用的模块: Core Container:包…

    Java 2023年5月19日
    00
  • java实现简单银行管理系统

    Java实现简单银行管理系统攻略 概述 银行管理系统是一个非常重要的系统,这个系统可以帮助银行进行一系列的业务管理和数据管理,包括客户管理、账户管理、贷款管理等等。Java语言是一种功能强大、易于学习和使用的编程语言,在开发这个简单的银行管理系统方面是一个非常好的选择。 接下来我们将通过以下几个步骤来完成这个Java实现简单银行管理系统的攻略。 定义数据模型…

    Java 2023年5月18日
    00
  • java编程ThreadLocal上下传递源码解析

    Java编程ThreadLocal上下传递源码解析 什么是ThreadLocal ThreadLocal是Java的一个线程局部变量,也就是说它为线程提供了一个在其中存储数据的特定位置,而这个数据对其他线程而言是不可见的。ThreadLocal可以避免对线程同步的使用,降低多线程环境下锁的繁琐程度,同时也确保了多线程环境下的数据安全性。 ThreadLoca…

    Java 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部