mybatis+springboot中使用mysql的实例

下面是 "mybatis+springboot中使用mysql的实例" 的完整攻略:

1. 安装MySQL

首先需要安装MySQL数据库,推荐使用官方网站提供的安装包进行安装,安装完成后需要创建一个数据库和对应的数据表。使用以下命令打开MySQL的命令行客户端:

mysql -u root -p

输入密码登录MySQL之后,使用以下命令创建一个名为 test 的数据库:

CREATE DATABASE test;

使用以下命令切换到 test 数据库:

USE test;

使用以下命令创建一个名为 user 的数据表:

CREATE TABLE user (
  id int(11) NOT NULL AUTO_INCREMENT,
  name varchar(32) NOT NULL,
  age int(11) NOT NULL,
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

2. 新建Spring Boot项目并引入MyBatis和MySQL的依赖

使用IDE创建一个Spring Boot项目,作为示例,项目名为 mybatis-demo。在 build.gradle 文件中添加 MyBatis 和 MySQL 的依赖:

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.0'
    implementation 'mysql:mysql-connector-java:8.0.25'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

3. 编写MyBatis的Mapper和XML配置文件

src/main/java 目录下创建一个名为 com.example.mybatisdemo.mapper 的包,并在该包下创建一个名为 UserMapper 的类,代码如下:

package com.example.mybatisdemo.mapper;

import com.example.mybatisdemo.entity.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

@Mapper
public interface UserMapper {
    @Select("SELECT * FROM user WHERE name = #{name}")
    User findByName(@Param("name") String name);
}

同时,在 src/main/resources 目录下创建一个名为 mapper 的文件夹,然后在该文件夹下创建一个名为 UserMapper.xml 的文件,代码如下:

<?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.example.mybatisdemo.mapper.UserMapper">
    <select id="findByName" parameterType="java.lang.String"
            resultType="com.example.mybatisdemo.entity.User">
        SELECT * FROM user WHERE name = #{name}
    </select>
</mapper>

以上两个文件是 MyBatis 的核心配置文件,XML 文件中配置了对应的 SQL 语句,而 Mapper 接口则定义了如何访问数据库。

4. 编写实体类和Service层

src/main/java 目录下,创建一个名为 com.example.mybatisdemo.entity 的包,并在该包下创建一个名为 User 的类,代码如下:

package com.example.mybatisdemo.entity;

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

    // getters and setters ...
}

src/main/java 目录下,创建一个名为 com.example.mybatisdemo.service 的包,并在该包下创建一个名为 UserService 的类,代码如下:

package com.example.mybatisdemo.service;

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

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

    public User findUserByName(String name) {
        return userMapper.findByName(name);
    }
} 

以上两个文件是 Service 层的核心文件,实体类定义了返回结果的数据结构,Service 类则定义了 MyBatis 的配置文件 Mapper 和查询数据库的代码之间的桥梁。

5. 编写Controller层

src/main/java 目录下,创建一个名为 com.example.mybatisdemo.controller 的包,并在该包下创建一个名为 UserController 的类,代码如下:

package com.example.mybatisdemo.controller;

import com.example.mybatisdemo.entity.User;
import com.example.mybatisdemo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class UserController {
    @Autowired
    private UserService userService;

    @GetMapping("/user/{name}")
    public User findUserByName(@PathVariable("name") String name) {
        return userService.findUserByName(name);
    }
}

以上代码是 Controller 层的核心文件,其中 @GetMapping 注解用于映射 HTTP GET 请求的访问路径, /user/{name} 就是应用程序的一个 RESTful API 接口,这个接口可以返回 JSON 格式的数据。

6. 配置MySQL连接信息

src/main/resources/application.properties 中配置 MySQL 连接信息,代码如下:

spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

7. 启动应用程序

在项目根目录下运行以下命令启动应用程序:

./gradlew bootRun

启动成功后,可以在浏览器中访问 http://localhost:8080/user/* 接口,其中 * 是待查询的用户名。例如,输入 http://localhost:8080/user/张三 即可查询用户名为张三的用户信息。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:mybatis+springboot中使用mysql的实例 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • Java最常用的6个简单的计算题

    Java最常用的6个简单的计算题 作为Java语言的入门者和初学者,掌握一些最基本的计算题是非常重要的。以下是Java中最常用的6个简单的计算题及其解答攻略。 1. 加法 加法是一种最基本的数学运算,其符号为+。在Java中,可以使用+运算符进行两个数的加法运算。例如: int a = 2; int b = 3; int c = a + b; System.…

    Java 2023年5月26日
    00
  • 浅谈Springboot之于Spring的优势

    浅谈Spring Boot之于Spring的优势攻略 简介 Spring Boot是一种基于Spring框架的快速开发框架。相对于Spring框架,Spring Boot可以更快速地构建和部署Spring应用程序。本文将介绍使用Spring Boot构建应用程序相对于使用Spring框架构建的优势,并提供一些示例。 优势 快速构建应用程序 Spring Bo…

    Java 2023年5月15日
    00
  • 在springboot中对kafka进行读写的示例代码

    下面是关于在Spring Boot中对Kafka进行读写的完整攻略。 准备工作 在开始示例前,我们需要准备一些必要的工作: 安装Kafka并启动服务 在Spring Boot项目的pom.xml中加入Kafka依赖: <dependency> <groupId>org.springframework.kafka</groupId…

    Java 2023年5月20日
    00
  • spring-boot-starter-parent的作用详解

    “spring-boot-starter-parent”是一个Maven父项目,为Spring Boot应用程序的制作提供了标准化的模式和结构。它本身不提供任何功能,而是通过定义版本来简化Maven项目配置。 根据Spring Boot文档,使用“spring-boot-starter-parent”可以获得以下好处: 提供了默认的Maven设置,无需进行繁…

    Java 2023年5月20日
    00
  • java 代码中预防空指针异常的处理办法

    预防空指针异常是Java编程中非常重要的一个问题。在编写Java应用程序时,空指针异常是一个常见的错误。空指针异常的出现,往往会导致程序崩溃,给用户带来不好的用户体验。因此,针对空指针异常需要特别小心来处理。本文将会向你详细介绍在Java代码中预防空指针异常的几种处理办法。 1. 开发过程中避免使用空指针 在Java程序中,空指针异常最常见的情况是试图访问一…

    Java 2023年5月27日
    00
  • Java深入分析与解决Top-K问题

    Java深入分析与解决Top-K问题 什么是Top-K问题? Top-K问题是指在一个元素集合中,找出排名前K的元素,其中K通常是一个比较小的数字。例如,在一个学生考试成绩的集合中,要找出排名前5的学生。 解决Top-K问题有很多方法,不同的方法的时间复杂度和空间复杂度各不相同。本文将介绍两种常用的方法:堆排序和快速排序。 堆排序 概述 堆排序利用了堆这种数…

    Java 2023年5月19日
    00
  • SpringCache框架加载/拦截原理详解

    SpringCache框架加载/拦截原理详解 1. 什么是SpringCache? SpringCache是Spring Framework提供的一个缓存框架。使用SpringCache可以很方便地在应用中添加缓存逻辑。 SpringCache和其他缓存框架类似,主要思想是将查询结果缓存起来,当下次查询相同数据时从缓存中读取,从而提高系统性能。SpringC…

    Java 2023年5月19日
    00
  • Spring Boot整合Lombok的方法详解

    下面我将为您详细讲解“Spring Boot整合Lombok的方法详解”的完整攻略。 1. 什么是Lombok Lombok 是一个 Java 库,通过注解的形式,可以在编译期自动生成一些简单重复的代码,如 getter/setter/toString 等,减少代码的冗余,提高开发效率。 2. 引入Lombok依赖 在 pom.xml 文件中添加以下依赖: …

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