实现springboot与mybatis的增删改查

1、创建一个新项目New Project

实现springboot与mybatis的增删改查_第1张图片

2、选择自动导入maven包

在这里插入图片描述


完整导入maven包后,可以查看一下poml文件


<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0modelVersion>
    <parent>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-parentartifactId>
        <version>2.1.9.RELEASEversion>
        <relativePath/> 
    parent>
    <groupId>com.panggroupId>
    <artifactId>flowerartifactId>
    <version>0.0.1-SNAPSHOTversion>
    <name>flowername>
    <description>Demo project for Spring Bootdescription>

    <properties>
        <java.version>1.8java.version>
    properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-data-jdbcartifactId>
        dependency>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-webartifactId>
        dependency>
        <dependency>
            <groupId>org.mybatis.spring.bootgroupId>
            <artifactId>mybatis-spring-boot-starterartifactId>
            <version>2.1.0version>
        dependency>

        <dependency>
            <groupId>mysqlgroupId>
            <artifactId>mysql-connector-javaartifactId>
            <scope>runtimescope>
        dependency>
        <dependency>
            <groupId>org.projectlombokgroupId>
            <artifactId>lombokartifactId>
            <optional>trueoptional>
        dependency>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-testartifactId>
            <scope>testscope>
        dependency>
    dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-maven-pluginartifactId>
            plugin>
        plugins>
    build>

project>

3、使用数据库设计一个简单的表

注意我们的主键flowerNumber设置为自动递增方式;

如果没有注意这里的话,后面的功能测试可能会出现问题

实现springboot与mybatis的增删改查_第2张图片


自己给自己的表添加数据:

实现springboot与mybatis的增删改查_第3张图片

3、创建一个实体类

实现springboot与mybatis的增删改查_第4张图片


根据自己的数据库创建的表进行逆向工程;创建一个实体类

package com.pang.flower.Emtity;

import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
public class Flower {
    private int flowerNumber;
    private String flowerName;
    private double flowerPrice;
    private int flowerInventory;
    private int flowerSellNum;

}

4、创建一个Mapper映射类

实现springboot与mybatis的增删改查_第5张图片


通过@Select、@Insert、@Update、@Delete注解在Mybatis中添加原生sql语句

package com.pang.flower.Mapper;

import com.pang.flower.Emtity.Flower;
import org.apache.ibatis.annotations.*;

@Mapper
public interface FlowerMapper {

    @Select("select * from flower where flowerNumber = #{flowerNumber}")
    public Flower selectFlowerByNum(int flowerNumber);

    @Select("select * from flower where flowerName = #{flowerName}")
    public Flower selectFlowerByName(String flowerName);

    @Insert("insert into flower(flowerName, flowerPrice, flowerInventory, flowerSellNum) values(#{flowerName}, #{flowerPrice}, #{flowerInventory}, #{flowerSellNum})")
    public void addFlower(Flower flower);

    @Update("update flower set flowerName = #{flowerName}, flowerPrice = #{flowerPrice}, flowerInventory = #{flowerInventory}, flowerSellNum = #{flowerSellNum} where flowerNumber = #{flowerNumber}")
    public void updateFlower(Flower flower);

    @Delete("delete from flower where flowerNumber = #{flowerNumber}")
    public void deleteFlower(int flowerNumber);
}

5、创建一个控制类

实现springboot与mybatis的增删改查_第6张图片


package com.pang.flower.Controller;

import com.pang.flower.Emtity.Flower;
import com.pang.flower.Mapper.FlowerMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@ResponseBody
@RequestMapping("/flower")
public class FlowerController {
    @Autowired
    FlowerMapper flowerMapper;//此处红色波浪线报错不影响我们运行

    @RequestMapping(value = "/selectFlowerByNum", method = RequestMethod.GET)
    public Flower selectFlowerById(String flowerNumber) {
        return flowerMapper.selectFlowerByNum(Integer.parseInt(flowerNumber));

    }

    @RequestMapping(value = "/selectFlowerByName", method = RequestMethod.GET)
    public Flower selectFlowerByName(String flowerName) {
        return flowerMapper.selectFlowerByName(flowerName);
    }

    @RequestMapping(value = "/addFlower", method = RequestMethod.GET)
    public void addFlower(Flower flower) {
        flowerMapper.addFlower(flower);
    }

    @RequestMapping(value = "/updateFlower", method = RequestMethod.GET)
    public void updateFlower(Flower flower) {
        flowerMapper.updateFlower(flower);
    }

    @RequestMapping(value = "/deleteFlower", method = RequestMethod.GET)
    public void deleteFlower(int flowerNumber) {
        flowerMapper.deleteFlower(flowerNumber);
    }
}

6 、最后别忘记了进行配置文件

?serverTimezone=UTC为了防止区时问题

com.mysql.cj.jdbc.Driver是mysql8以后的规定的

对于这些配置文件的操作有不解的可以看一些我的上篇文章:mysql关于时区报错问题

server.port=8888
spring.datasource.url=jdbc:mysql://localhost:3306/flower?serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

7、测试结果

以编号查询:

在这里插入图片描述


以名字查询:

在这里插入图片描述


添加:

在这里插入图片描述

查看数据库:

实现springboot与mybatis的增删改查_第7张图片


更新数据:

在这里插入图片描述

查看数据库:

实现springboot与mybatis的增删改查_第8张图片


删除数据:

在这里插入图片描述

查看数据库:

实现springboot与mybatis的增删改查_第9张图片

你可能感兴趣的:(springboot,mysql,springboot,mybatis)