SpringBoot -基于SpringBoot的SSMP整合案例(一)

文章目录

  • 基于SpringBoot的SSMP整合案例
  • 案例分析
    • 小结
  • 项目搭建
    • 完整项目
    • 目标项目
    • 模块创建
      • pom.xml
        • 清理无效语句
        • 导入需要依赖
      • Application主入口
        • 改名
      • yml
        • 设置80端口
      • 小结
    • SQL数据库
      • 实体类开发
        • Lombok注解
          • 导入Lombok依赖
          • @Data
          • @Constructor
        • 实体类
      • 小结
    • 数据层开发
      • 编写yml
      • 配置连接表
    • 编写Dao层
    • 编写测试类
      • 测试成功
  • 改为mybatis-plus技术
    • 修改dao接口
      • 测试成功
    • 测试mybatis-plus其他查询
      • 都没问题
    • 小结

基于SpringBoot的SSMP整合案例

Spring,springmvc,mybatis-plus整合

案例分析

SpringBoot -基于SpringBoot的SSMP整合案例(一)_第1张图片

小结

SpringBoot -基于SpringBoot的SSMP整合案例(一)_第2张图片

项目搭建

完整项目

SpringBoot -基于SpringBoot的SSMP整合案例(一)_第3张图片

目标项目

我们目前只做成这样就行了

SpringBoot -基于SpringBoot的SSMP整合案例(一)_第4张图片

模块创建

SpringBoot -基于SpringBoot的SSMP整合案例(一)_第5张图片

SpringBoot -基于SpringBoot的SSMP整合案例(一)_第6张图片

需要技术

SpringBoot -基于SpringBoot的SSMP整合案例(一)_第7张图片

SpringBoot -基于SpringBoot的SSMP整合案例(一)_第8张图片

SpringBoot -基于SpringBoot的SSMP整合案例(一)_第9张图片

pom.xml

清理无效语句

下面两句清掉

SpringBoot -基于SpringBoot的SSMP整合案例(一)_第10张图片

导入需要依赖

mybatis-plus

        <dependency>
            <groupId>com.baomidougroupId>
            <artifactId>mybatis-plus-boot-starterartifactId>
            <version>3.4.3version>
        dependency>

druid

        <dependency>
            <groupId>com.alibabagroupId>
            <artifactId>druid-spring-boot-starterartifactId>
            <version>1.2.6version>
        dependency>

Application主入口

改名

因为太长,改下名

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q7cnBDKG-1651492255984)(springboot.assets/image-20220502151838856.png)]

yml

设置80端口

server:
  port: 80

小结

SpringBoot -基于SpringBoot的SSMP整合案例(一)_第11张图片

SQL数据库

mybatis->tb_user

SpringBoot -基于SpringBoot的SSMP整合案例(一)_第12张图片

实体类开发

Lombok注解

SpringBoot -基于SpringBoot的SSMP整合案例(一)_第13张图片

SpringBoot -基于SpringBoot的SSMP整合案例(一)_第14张图片

导入Lombok依赖
        <dependency>
            <groupId>org.projectlombokgroupId>
            <artifactId>lombokartifactId>
        dependency>
@Data

SpringBoot -基于SpringBoot的SSMP整合案例(一)_第15张图片

SpringBoot -基于SpringBoot的SSMP整合案例(一)_第16张图片

@Constructor

因为上个注解没有构造方法,所以我们可以使用这个注解

分别是全部构造方法和没有构造方法

不过一般情况哦我们不用使用这个注解,因为一个默认无参就够用了

SpringBoot -基于SpringBoot的SSMP整合案例(一)_第17张图片

实体类

package com.taotao.domain;

import jdk.nashorn.internal.objects.annotations.Constructor;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.Getter;

/**
 * create by 刘鸿涛
 * 2022/5/2 15:28
 */
@SuppressWarnings({"all"})
@Data
public class User {
    private int id;
    private String username;
    private int password;
    private String gender;
    private String addr;
}

小结

SpringBoot -基于SpringBoot的SSMP整合案例(一)_第18张图片

数据层开发

SpringBoot -基于SpringBoot的SSMP整合案例(一)_第19张图片

编写yml

配置数据源

server:
  port: 80


spring:
  datasource:
    druid:
      driver-class-name: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC
      username: root
      password: 12345

配置连接表

@TableName(“tb_user”)

SpringBoot -基于SpringBoot的SSMP整合案例(一)_第20张图片

编写Dao层

咱们这里起名为mapper更好辨认

package com.taotao.dao;

import com.taotao.domain.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

/**
 * create by 刘鸿涛
 * 2022/5/2 18:16
 */
@SuppressWarnings({"all"})
@Mapper
public interface UserMapper {
    @Select("select * from tb_user where id = #{id}")
    User getById(Integer id);
}

编写测试类

package com.taotao.dao;

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

/**
 * create by 刘鸿涛
 * 2022/5/2 18:20
 */
@SuppressWarnings({"all"})
@SpringBootTest
public class UserDaoTestCase {
    @Autowired
    private UserMapper userMapper;

    @Test
    void testGetById(){
        System.out.println(userMapper.getById(1));
    }
}

测试成功

SpringBoot -基于SpringBoot的SSMP整合案例(一)_第21张图片

改为mybatis-plus技术

修改dao接口

直接继承BaseMapper

package com.taotao.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.taotao.domain.User;
import org.apache.ibatis.annotations.Mapper;

/**
 * create by 刘鸿涛
 * 2022/5/2 18:16
 */
@SuppressWarnings({"all"})
@Mapper
public interface UserMapper extends BaseMapper<User> {

}

测试成功

SpringBoot -基于SpringBoot的SSMP整合案例(一)_第22张图片

测试mybatis-plus其他查询

package com.taotao.dao;

import com.taotao.domain.User;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.stereotype.Repository;

/**
 * create by 刘鸿涛
 * 2022/5/2 18:20
 */
@SuppressWarnings({"all"})
@SpringBootTest
public class UserDaoTestCase {
    @Autowired
    private UserMapper userMapper;

    @Test
    void testGetById(){
        System.out.println(userMapper.selectById(1));
    }

    //添加
    @Test
    void testSave(){
        User user = new User();
        user.setUsername("taotao");
        user.setAddr("上海");
        user.setPassword(456);
        user.setGender("女");
        userMapper.insert(user);
    }

    @Test
    void testUpdata(){
        User user = new User();
        user.setId(3);
        user.setUsername("刘鸿涛");
        user.setAddr("上海");
        user.setPassword(456);
        user.setGender("女");
        userMapper.updateById(user);
    }

    @Test
    void testDelete(){
        userMapper.deleteById(4);
    }

    //查询所有
    @Test
    void testGetAll(){
        System.out.println(userMapper.selectList(null));
    }

    //
    @Test
    void testGetPage(){

    }

    @Test
    void testGetBy(){

    }
}

都没问题

自我测试过,不再截图

SpringBoot -基于SpringBoot的SSMP整合案例(一)_第23张图片

小结

SpringBoot -基于SpringBoot的SSMP整合案例(一)_第24张图片

SpringBoot -基于SpringBoot的SSMP整合案例(一)_第25张图片

SpringBoot -基于SpringBoot的SSMP整合案例(一)_第26张图片

SpringBoot -基于SpringBoot的SSMP整合案例(一)_第27张图片

你可能感兴趣的:(成长阶段,笔记,spring,boot,spring,java)