SpringBoot怎么引入mybatis与连接Mysql数据库

发布时间:2022-08-17 17:45:54 作者:iii
来源:亿速云 阅读:205

SpringBoot怎么引入MyBatis与连接MySQL数据库

1. 引言

在现代的Java开发中,Spring Boot已经成为了一个非常流行的框架,它简化了Spring应用的初始搭建以及开发过程。而MyBatis优秀的持久层框架,提供了强大的SQL映射功能,使得开发者可以更加灵活地操作数据库。本文将详细介绍如何在Spring Boot项目中引入MyBatis,并连接MySQL数据库。

2. 环境准备

在开始之前,我们需要确保以下环境已经准备好:

3. 创建Spring Boot项目

首先,我们需要创建一个Spring Boot项目。可以通过Spring Initializr来快速生成一个Spring Boot项目。

3.1 使用Spring Initializr创建项目

  1. 打开浏览器,访问Spring Initializr
  2. 在页面上选择以下配置:
    • Project: Maven Project
    • Language: Java
    • Spring Boot: 2.5.6 (或更高版本)
    • Group: com.example
    • Artifact: mybatis-demo
    • Name: mybatis-demo
    • Packaging: Jar
    • Java: 8
  3. 在Dependencies中添加以下依赖:
    • Spring Web
    • MyBatis Framework
    • MySQL Driver
  4. 点击“Generate”按钮,下载生成的项目压缩包。
  5. 解压压缩包,并使用IDE(如IntelliJ IDEA或Eclipse)导入项目。

3.2 项目结构

导入项目后,项目结构应如下所示:

mybatis-demo
├── src
│   ├── main
│   │   ├── java
│   │   │   └── com
│   │   │       └── example
│   │   │           └── mybatisdemo
│   │   │               ├── MybatisDemoApplication.java
│   │   │               ├── controller
│   │   │               ├── service
│   │   │               ├── mapper
│   │   │               └── model
│   │   └── resources
│   │       ├── application.properties
│   │       └── static
│   │       └── templates
│   └── test
│       └── java
│           └── com
│               └── example
│                   └── mybatisdemo
└── pom.xml

4. 配置MySQL数据库

application.properties文件中,我们需要配置MySQL数据库的连接信息。

4.1 配置数据库连接

打开src/main/resources/application.properties文件,添加以下内容:

# 数据库连接配置
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_demo?useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=yourpassword
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

# MyBatis配置
mybatis.mapper-locations=classpath:mapper/*.xml
mybatis.type-aliases-package=com.example.mybatisdemo.model

4.2 创建数据库

在MySQL中创建一个名为mybatis_demo的数据库:

CREATE DATABASE mybatis_demo;

5. 创建数据表

mybatis_demo数据库中创建一个简单的用户表:

USE mybatis_demo;

CREATE TABLE user (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(50) NOT NULL,
    email VARCHAR(100) NOT NULL
);

6. 创建实体类

src/main/java/com/example/mybatisdemo/model目录下创建一个User实体类:

package com.example.mybatisdemo.model;

public class User {
    private Integer id;
    private String name;
    private String email;

    // Getters and Setters
    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}

7. 创建Mapper接口

src/main/java/com/example/mybatisdemo/mapper目录下创建一个UserMapper接口:

package com.example.mybatisdemo.mapper;

import com.example.mybatisdemo.model.User;
import org.apache.ibatis.annotations.*;

import java.util.List;

@Mapper
public interface UserMapper {

    @Select("SELECT * FROM user")
    List<User> findAll();

    @Select("SELECT * FROM user WHERE id = #{id}")
    User findById(@Param("id") Integer id);

    @Insert("INSERT INTO user(name, email) VALUES(#{name}, #{email})")
    @Options(useGeneratedKeys = true, keyProperty = "id")
    void insert(User user);

    @Update("UPDATE user SET name = #{name}, email = #{email} WHERE id = #{id}")
    void update(User user);

    @Delete("DELETE FROM user WHERE id = #{id}")
    void delete(@Param("id") Integer id);
}

8. 创建Service层

src/main/java/com/example/mybatisdemo/service目录下创建一个UserService类:

package com.example.mybatisdemo.service;

import com.example.mybatisdemo.mapper.UserMapper;
import com.example.mybatisdemo.model.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class UserService {

    @Autowired
    private UserMapper userMapper;

    public List<User> findAll() {
        return userMapper.findAll();
    }

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

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

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

    public void delete(Integer id) {
        userMapper.delete(id);
    }
}

9. 创建Controller层

src/main/java/com/example/mybatisdemo/controller目录下创建一个UserController类:

package com.example.mybatisdemo.controller;

import com.example.mybatisdemo.model.User;
import com.example.mybatisdemo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/users")
public class UserController {

    @Autowired
    private UserService userService;

    @GetMapping
    public List<User> findAll() {
        return userService.findAll();
    }

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

    @PostMapping
    public void insert(@RequestBody User user) {
        userService.insert(user);
    }

    @PutMapping
    public void update(@RequestBody User user) {
        userService.update(user);
    }

    @DeleteMapping("/{id}")
    public void delete(@PathVariable Integer id) {
        userService.delete(id);
    }
}

10. 运行项目

完成以上步骤后,我们可以运行项目并测试API。

10.1 启动项目

在IDE中运行MybatisDemoApplication类,启动Spring Boot应用。

10.2 测试API

可以使用Postman或curl命令来测试API。

10.2.1 获取所有用户

curl -X GET http://localhost:8080/users

10.2.2 获取单个用户

curl -X GET http://localhost:8080/users/1

10.2.3 添加用户

curl -X POST -H "Content-Type: application/json" -d '{"name":"John Doe","email":"john@example.com"}' http://localhost:8080/users

10.2.4 更新用户

curl -X PUT -H "Content-Type: application/json" -d '{"id":1,"name":"Jane Doe","email":"jane@example.com"}' http://localhost:8080/users

10.2.5 删除用户

curl -X DELETE http://localhost:8080/users/1

11. 总结

通过以上步骤,我们成功地在Spring Boot项目中引入了MyBatis,并连接了MySQL数据库。MyBatis提供了强大的SQL映射功能,使得我们可以更加灵活地操作数据库。Spring Boot的自动配置和简化开发流程使得整个项目的搭建和开发变得更加高效。

希望本文能够帮助你快速上手Spring Boot与MyBatis的整合,并在实际项目中应用这些技术。如果你有任何问题或建议,欢迎在评论区留言讨论。

推荐阅读:
  1. springboot整合mybatis
  2. SpringBoot怎么引入Thymeleaf方法

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

springboot mysql mybatis

上一篇:怎么使用C++ OpenCV实现图像拼接

下一篇:linux可不可以拷贝文件到u盘

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》