首页 > 其他分享 >数据持久层框架mybatis学习:使用mybatis+SpringBoot完成增删改查

数据持久层框架mybatis学习:使用mybatis+SpringBoot完成增删改查

时间:2023-12-18 11:23:21浏览次数:43  
标签:SpringBoot 改查 course user mybatis org com id

目录

一、MyBatis的应用配置

  1. 依赖 pom.xml
    注意:版本号的依赖冲突问题
<?xml version="1.0" encoding="UTF-8"?>
<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>03_myBatis_demo</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>2.7.12</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jdbc</artifactId>
            <version>2.7.12</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.3.1</version>
        </dependency>
        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <version>8.0.33</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.28</version>
        </dependency>
    </dependencies>

</project>
  1. workbench数据准备
  • 创建数据库:course

  • 建表user;

CREATE TABLE `user` (
  `id` INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  `name` VARCHAR(20) NOT NULL,
  `age` VARCHAR(50) NOT NULL,
  `sex` VARCHAR(50) NOT NULL,
  `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  • 插数据:
insert into `user` (`name`,`age`,`sex`) values
('Tom','20','男'),
('Jack','22','男'),
('Lily','24','女');
  • 查询:
  1. 创建包:com/course/model
  2. resource下创建文件:mapper/mysql.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.course">
    <select id="getUserCount" resultType="Integer">
        select count(*) from user;
    </select>

    <insert id="addUser" parameterType="com.course.model.User">
        insert into user(id,name,age,sex)
        values(#{id},#{name},#{age},#{sex})
    </insert>

    <update id="updateUser" parameterType="com.course.model.User">
        update user set name=#{name},age=#{age}
        where id=#{id}
    </update>
    
    <delete id="deleteUser" parameterType="Integer">
        delete from user where id = #{id}
    </delete>
</mapper>
  1. resource下创建文件:mybatis-config.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <typeAliases>
        <package name="com.course.model"/>
    </typeAliases>
    <mappers>
        <mapper resource="mapper/mysql.xml"/>
    </mappers>
</configuration>
  1. 配置 resource文件夹下:application.yml
server:
  port: 8188

logging:
  path: logs
  file: mylog.log

spring:
  application:
    name: myTest
  datasource:
    driver: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/course
    username: root
    password: root

mybatis:
  type-aliases-package: com.course.model
  mapper-locations:
    - mapper/*

二、使用mybatis+SpringBoot完成增删改查

2.1 代码实现

  1. com.course.Application.java
package com.course;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class,args);
    }
}
  1. com.course.controller.Demo.java
package com.course.controller;

import com.course.model.User;
import org.mybatis.spring.SqlSessionTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("v1")
public class Demo {
    // 获取一个执行sql的对象
    @Autowired
    private SqlSessionTemplate template;

    @RequestMapping(value = "/getUserCount",method = RequestMethod.GET)
    public int getUserCount(){
        return template.selectOne("getUserCount");
    }

    @RequestMapping(value = "/addUser",method = RequestMethod.POST)
    public int addUser(@RequestBody User user){
        return template.insert("addUser",user);
    }

    @RequestMapping(value = "/updateUser",method = RequestMethod.POST)
    public int updateUser(@RequestBody User user){
        return template.update("updateUser",user);
    }

    @RequestMapping(value = "/deleteUser",method = RequestMethod.GET)
    public int delUser(@RequestParam int id){
        return template.delete("deleteUser",id);
    }
}

  1. com.course.model.User.java
package com.course.model;
import lombok.Data;

@Data
public class User {
    private int id;
    private String name;
    private String sex;
    private String age;

}

2.2 增删改查接口调用

  1. /v1/getUserCount:查询数据接口

  2. /v1/addUser:添加数据接口
    使用jmeter测试:
    1)添加Thread Group
    2)添加HTTP Header Manager:Content-Type=application/json
    3)添加HTTP Request:

    4)添加查看结果树


    5)查询数据库结果

  3. /v1/updateUser:更新数据接口
    使用jmeter测试:
    1)添加Thread Group
    2)添加HTTP Header Manager:Content-Type=application/json
    3)添加HTTP Request:

    4)添加查看结果树


    5)查询数据库结果

  4. /v1/deleteUser:删除数据接口
    使用jmeter测试:
    1)添加Thread Group
    2)添加HTTP Header Manager:Content-Type=application/json
    3)添加HTTP Request:

    4)添加查看结果树


    5)查询数据库结果

标签:SpringBoot,改查,course,user,mybatis,org,com,id
From: https://www.cnblogs.com/hqq2019-10/p/17910640.html

相关文章

  • 使用React+SpringBoot开发一个协同编辑的表格文档
    前言随着云计算和团队协作的兴起,协同编辑成为了许多企业和组织中必不可少的需求。通过协同编辑,多个用户可以同时对同一个文档进行编辑和更新,从而提高工作效率和协作能力。本文小编就将为大家介绍如何使用React+SpringBoot简单的开发一个协同编辑的表格文档。环境准备用到的开发......
  • mybatis-plus
    Mybatis-plus简介|MyBatis-Plus(baomidou.com)特性损耗小:启动即会自动注入基本CURD,性能基本无损耗,直接面向对象操作强大的CRUD操作:内置通用Mapper、通用Service,仅仅通过少量配置即可实现单表大部分CRUD操作,更有强大的条件构造器,满足各类使用需求支持Lambda......
  • 流畅的orm让我发现我抵触的是mybatis而不是java
    流畅的orm让我发现我抵触的是mybatis而不是java背景介绍开发.net也快10年了,到第三年的时候我已经渐渐瓶颈了,于是我在网上找各种资料但是大部分c#资料全是皮毛资料,稍微深一点点就再讲表达式expression,感觉完全没有那个深度,但是同时期的java讲解的都是基本原理,和框架思......
  • 2、SpringBoot2之入门案例
    2.1、创建Maven工程2.1.1、创建空项目2.1.2、设置项目名称和路径2.1.3、设置项目sdk2.1.4、项目初始状态注意:需要关闭项目再重新打开,才能看到SpringBoot-Part文件夹2.1.5、配置maven2.1.6、创建module右击SpringBoot-Part文件夹,创建新module选择maven配......
  • mybatis 注解开发
    注解开发<mappers><!--直接读取映射文件--><!--<mapperresource="kong/UserMapper.xml"/>--><!--获取dao文件xml文件存放的路径和dao接口的包名要对应--><packagename="com.kong.dao"/>......
  • SpringBoot开启注册发现并使用feign进行远程调用
    1、安装nacos服务端nacos下载地址https://github.com/alibaba/nacos/releases下载nacos之后解压并启动Nacos默认端口是88482、配置maven坐标信息2.1配置坐标管理<dependencyManagement><dependencies><dependency><groupId>com.alibaba.cloud</......
  • Mybatis(黑马)
    1.框架概述课程介绍三层架构和ssm框架的对应关系jdbc操作数据库的问题分析jdbc代码回顾javapublicstaticvoidmain(String[]args){Connectionconnection=null;PreparedStatementpreparedStatement=null;ResultSetresultSet=null;try{//加载数据库......
  • Mybatis-Plus技术教程
    Mybatis-Plus课程目标了解Mybatis-Plus整合Mybatis-Plus通用CRUDMybatis-Plus的配置条件构造器Mybatis-Plus的Service封装代码生成器1Mybatis-Plus介绍1.1Mybatis-Plus介绍MyBatis-Plus(简称MP)是一个MyBatis的增强工具,在MyBatis的基础上只做增强......
  • springboot连接mysql出现的SSL问题
    1、连接配置spring:datasource:username:rootpassword:rooturl:jdbc:mysql://192.168.0.1:3307/admin?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghaidriver-class-name:com.mysql.cj.jdbc.Driver出现SSL连接问题2、解......
  • Java医院3D人体智能导诊系统源码 Uniapp+springboot
    “智能导诊”以人工智能手段为依托,为人们提供智能分诊、问病信息等服务,在一定程度上满足了人们自我健康管理、精准挂号等需求。智能导诊可根据描述的部位和病症,给出适合病症的科室参考。智慧导诊页面会显示男性或女性的身体结构图,可切换正面/背面。通过点击部位选项,选择自己身体不......