mybatis+springboot中使用mysql的实例

yizhihongxing

下面是 "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环境配置与编译运行详解

    Java环境配置与编译运行详解 环境配置 下载JDK安装包 JDK是Java Development Kit的缩写,是Java开发所必须的环境,我们需要从Oracle官网下载对应版本的JDK安装包。 下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html 安装JDK 运…

    Java 2023年5月20日
    00
  • JavaSpringBoot报错“InvalidDataAccessApiUsageException”的原因和处理方法

    原因 “InvalidDataAccessApiUsageException” 错误通常是以下原因引起的: 数据库连接问题:如果您的数据库连接存在问题,则可能会出现此错误。在这种情况下,您需要检查您的数据库连接并确保它们正确。 数据库访问权限问题:如果您的数据库访问权限存在问题,则可能会出现此错误。在这种情况下,您需要检查您的数据库访问权限并确保它们正确。 …

    Java 2023年5月4日
    00
  • Java CAS底层实现原理实例详解

    Java CAS底层实现原理实例详解 什么是CAS CAS是Compare And Swap(比较并交换)的缩写。它是一种并发操作,常用于多线程环境下。CAS操作包含3个操作数——内存位置(V)、预期原值(A)和新值(B)。操作仅在当前内存值等于预期原值时,将内存值修改为所需的新值。CAS是原子操作,保证了操作的原子性。 实现CAS需要硬件的支持。Java中…

    Java 2023年5月18日
    00
  • Docker-利用dockerfile来搭建tomcat服务的方法

    Docker是一种容器化技术,可以使用Dockerfile文件来描述应用程序及其依赖项的构建过程,同时提供了简单且易于复制、移动、并在环境中部署的容器。 以下是搭建Tomcat服务的Dockerfile文件示例: # 基础镜像 FROM openjdk:8-jre-alpine # 设置Tomcat版本 ENV TOMCAT_MAJOR=8 \ TOMCAT…

    Java 2023年6月2日
    00
  • 如何进行Java并发编程?

    下面是关于如何进行Java并发编程的完整使用攻略。 1. 理解Java的并发问题 在开始了解如何进行Java并发编程之前,首先我们需要对Java的并发问题进行了解。Java并发问题主要体现在多线程协同执行的过程中,比如线程间的互斥、同步、等待-通知机制等。 2. Java中的并发编程工具 在Java中处理并发问题常用的工具包括线程、锁、Semaphore等。…

    Java 2023年5月11日
    00
  • Java+Swing实现医院管理系统的完整代码

    Java+Swing实现医院管理系统的完整代码攻略,过程中包含以下步骤: 1. 确定功能模块 医院管理系统经常包含的功能模块有:用户登录、信息展示、病人管理、医生管理、挂号、收费、报表统计等。 2. 数据库设计 医院管理系统需要管理病人、医生、科室、挂号、病历等数据。可以设计ER图和表结构,在MySQL中创建匹配的字段和表。 3. 前端设计 使用Java S…

    Java 2023年5月19日
    00
  • java通过MySQL驱动拦截器实现执行sql耗时计算

    首先让我解释一下MySQL驱动拦截器。MySQL驱动拦截器是通过JDBC驱动程序提供的一种扩展机制,以拦截JDBC API调用,从而可以在执行JDBC操作之前和之后添加自定义逻辑。使用MySQL驱动拦截器,我们可以实现一些非常有用的功能,例如,计算SQL执行时间、SQL量级统计、检测SQL注入等。 接下来,我将详细描述如何使用Java和MySQL驱动拦截器来…

    Java 2023年5月20日
    00
  • Java实战玩具商城的前台与后台实现流程

    Java实战玩具商城的前台与后台实现流程 概述 Java实战玩具商城的前台与后台实现流程主要分为以下几步: 前端页面设计:设计商城的页面布局和逻辑,并使用HTML、CSS和JavaScript等技术实现页面的交互效果。 后台架构设计:设计商城的后台架构,包括实现分布式服务、数据库设计、接口设计等。 业务逻辑实现:根据商城运营需求,实现各项业务逻辑,包括商品管…

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