使用Spring Boot和MyBatis连接MySQL数据库的方法

在Java开发中,Spring Boot和MyBatis是两个常用的框架,结合使用可以方便地连接和操作MySQL数据库。本文将详细介绍如何在Spring Boot项目中使用MyBatis框架连接MySQL数据库,并通过一个抖音视频数据存取操作的示例展示完整的增删改功能代码。

一、环境准备

  1. Java开发环境:确保已安装JDK和IntelliJ IDEA。
  2. Spring Boot项目:创建一个新的Spring Boot项目。
  3. Maven:用于管理项目依赖。

二、添加依赖

pom.xml文件中添加Spring Boot和MyBatis相关依赖:

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

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

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

三、配置数据库信息

application.properties文件中配置MySQL数据库连接信息:

spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase
spring.datasource.username=root
spring.datasource.password=your_password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect

四、创建实体类和Mapper接口

1. 实体类

package com.example.demo.model;

public class Video {
    private Long id;
    private String title;
    private String url;

    // 省略getter和setter方法
}

2. Mapper接口

package com.example.demo.mapper;

import com.example.demo.model.Video;
import org.apache.ibatis.annotations.*;

import java.util.List;

@Mapper
public interface VideoMapper {
    @Select("SELECT * FROM videos")
    List<Video> findAll();

    @Select("SELECT * FROM videos WHERE id = #{id}")
    Video findById(Long id);

    @Insert("INSERT INTO videos(title, url) VALUES(#{title}, #{url})")
    void insert(Video video);

    @Update("UPDATE videos SET title = #{title}, url = #{url} WHERE id = #{id}")
    void update(Video video);

    @Delete("DELETE FROM videos WHERE id = #{id}")
    void delete(Long id);
}

五、编写Service层和Controller层

1. Service层

package com.example.demo.service;

import com.example.demo.mapper.VideoMapper;
import com.example.demo.model.Video;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class VideoService {
    @Autowired
    private VideoMapper videoMapper;

    public List<Video> getAllVideos() {
        return videoMapper.findAll();
    }

    public Video getVideoById(Long id) {
        return videoMapper.findById(id);
    }

    public void addVideo(Video video) {
        videoMapper.insert(video);
    }

    public void updateVideo(Video video) {
        videoMapper.update(video);
    }

    public void deleteVideo(Long id) {
        videoMapper.delete(id);
    }
}

2. Controller层

package com.example.demo.controller;

import com.example.demo.model.Video;
import com.example.demo.service.VideoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/videos")
public class VideoController {
    @Autowired
    private VideoService videoService;

    @GetMapping("/")
    public List<Video> getAllVideos() {
        return videoService.getAllVideos();
    }

    @GetMapping("/{id}")
    public Video getVideoById(@PathVariable Long id) {
        return videoService.getVideoById(id);
    }

    @PostMapping("/")
    public void addVideo(@RequestBody Video video) {
        videoService.addVideo(video);
    }

    @PutMapping("/")
    public void updateVideo(@RequestBody Video video) {
        videoService.updateVideo(video);
    }

    @DeleteMapping("/{id}")
    public void deleteVideo(@PathVariable Long id) {
        videoService.deleteVideo(id);
    }
}

六、测试运行

启动Spring Boot应用,可以使用Postman或浏览器访问API接口进行增删改查操作,例如:

七、总结

通过本文的介绍了如何在Spring Boot项目中集成MyBatis框架,并实现了对MySQL数据库的增删改查操作。这种组合可以使开发更加高效和便捷,适用于各种类型的Java应用开发。希望本文对大家有所帮助,祝愿大家在Java开发中取得更多的成就!

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Spring Boot中整合MyBatis使用MySQL实现主键UUID的方法如下: 1. 首先,在MySQL数据库中创建一个表,其中包含一个varchar类型的字段用于存储UUID。示例表结构如下: ``` CREATE TABLE `example_table` ( `id` varchar(36) NOT NULL, `name` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ``` 2. 在Spring Boot的配置文件(application.properties或application.yml)中,配置数据库连接信息。 ``` spring.datasource.url=jdbc:mysql://localhost:3306/example_database spring.datasource.username=root spring.datasource.password=123456 spring.datasource.driver-class-name=com.mysql.jdbc.Driver ``` 3. 创建一个实体类Example,表示数据库中的表。 ```java public class Example { private String id; private String name; // getter和setter方法省略... } ``` 4. 创建一个Mapper接口ExampleMapper,用于执行数据库操作。 ```java public interface ExampleMapper { void insertExample(Example example); Example selectExampleById(String id); // 其他数据库操作方法... } ``` 5. 创建一个Mapper的XML文件ExampleMapper.xml,定义对应的SQL语句。 ```xml <mapper namespace="com.example.mapper.ExampleMapper"> <insert id="insertExample" parameterType="com.example.entity.Example"> INSERT INTO example_table(id, name) VALUES (#{id}, #{name}) </insert> <select id="selectExampleById" parameterType="java.lang.String" resultType="com.example.entity.Example"> SELECT * FROM example_table WHERE id = #{id} </select> <!-- 其他SQL语句定义... --> </mapper> ``` 6. 在Spring Boot的主类中使用@MapperScan注解扫描Mapper接口所在的包。 ```java @SpringBootApplication @MapperScan("com.example.mapper") public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } ``` 7. 然后就可以在代码中使用ExampleMapper接口进行数据库操作了。在需要插入数据的地方,使用UUID生成一个唯一的ID,并将其设置到实体类中,然后调用insertExample方法插入数据。 ```java @Autowired private ExampleMapper exampleMapper; public void insertExample() { Example example = new Example(); example.setId(UUID.randomUUID().toString()); example.setName("example name"); exampleMapper.insertExample(example); } ``` 通过以上步骤,就可以在Spring Boot项目中通过MyBatisMySQL实现主键UUID的方式进行数据操作了。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值