首页 > 其他分享 >SpringBoot整合Mybatis-Plus(SpringBoot3)

SpringBoot整合Mybatis-Plus(SpringBoot3)

时间:2024-03-20 09:34:05浏览次数:528  
标签:SpringBoot boot Plus user org Mybatis import com public

依赖pom.xml:

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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.2.3</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com</groupId>
    <artifactId>demoPlus</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>demoPlus</name>
    <description>demoPlus</description>
    <properties>
        <java.version>17</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.5</version>
            <exclusions>
            <exclusion>
                <groupId>com.mybatis</groupId>
                <artifactId>mybatis-spring</artifactId>
            </exclusion>
            </exclusions>
        </dependency>


        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>3.0.3</version>
        </dependency>
    </dependencies>

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

</project>

resource包下的Application.yml:

Aollication.yml
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/自己数据库名字?useUnicode=true&characterEncoding=UTF-8&useSSL=false
    username: root
    password: 123456


mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

pojo包下的实体类User:

User
package com.demoplus.pojo;

import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

@AllArgsConstructor
@NoArgsConstructor
@ToString
@Data
@TableName("t_user") //目标表名
public class User {
    private Long id;
    private String name;
    private Integer age;
    private String email;

}

mapper包下的接口UserMapper:

UserMapper
package com.demoplus.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.demoplus.pojo.User;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface UserMapper extends BaseMapper<User> {

}

测试ApplicationTest:

ApplicationTest
package com.demoplus;

import com.demoplus.mapper.UserMapper;
import com.demoplus.pojo.User;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import javax.sql.DataSource;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.SQLFeatureNotSupportedException;
import java.sql.SQLOutput;
import java.util.*;
import java.util.logging.Logger;

@SpringBootTest
class DemoPlusApplicationTests {

    @Autowired
    private UserMapper userMapper;

    @Autowired
    private DataSource dataSource;

    @Test
    //检验数据库连接
    void  dataSource() throws SQLException{
        System.out.println(dataSource.getConnection());
    }



    // CREATE
    @Test
    //增加信息
    public void testInset(){
        User user = new User();
        user.setId(111L);
        user.setName("qqml");
        user.setAge(22);
        user.setEmail("[email protected]");
        int count = userMapper.insert(user);
        System.out.println((count == 1 ? "增加成功" : "增加失败"));
    }



    //delete
    @Test
    //通过id删除
    public void testDeleteById(){
        int count = userMapper.deleteById(163L);
        System.out.println((count == 1 ? "删除成功" : "删除失败"));
    }

    @Test
    //通过多个id批量删除
    public void testDeleteBatchIds(){
        List<Long> idList = Arrays.asList(178L, 211L);
        int count = userMapper.deleteBatchIds(idList);
        System.out.println((count == 1 ? "删除失败" : "删除成功"));
    }

    @Test
    // 通过条件删除
    public void testDeleteByMap(){
        Map<String, Object> map = new HashMap<>();
        map.put("email", "[email protected]");
        int count = userMapper.deleteByMap(map);
        System.out.println((count == 1 ? "删除成功" : "删除失败"));
    }



    //update
    @Test
    //根据id更新数据
    public void testUpdateById(){
        User user = new User(222L, "heige", 18, "[email protected]");
        int count = userMapper.updateById(user);
        System.out.println((count == 1 ? "更新成功" : "更新失败"));
    }



    //retrieve
    @Test
    //根据id查询用户信息
    public void testSelectById(){
        User user = userMapper.selectById(222L);
        System.out.println(user);
    }

    @Test
    //根据id列表查询数据
    public void testSelectBatchIds(){
        List<Long> idList = Arrays.asList(225L, 256L);
        List<User> userList = userMapper.selectBatchIds(idList);
        userList.forEach(System.out::println);
    }

    @Test
    //根据设置条件查询数据
    public void testSelectByMap(){
        Map<String, Object> map = new HashMap<>();
        map.put("age", 18);
        List<User> userList = userMapper.selectByMap(map);
        userList.forEach(System.out::println);
    }

    @Test
    //直接查询所有数据
    public void selectList(){
        List<User> user = userMapper.selectList(null);
        user.forEach(System.out::println);
    }

}

标签:SpringBoot,boot,Plus,user,org,Mybatis,import,com,public
From: https://www.cnblogs.com/pine1203/p/18084444

相关文章

  • SpringBoot 多数据源 - dynamic-datasource | 快速入门
    文章目录简介第1步:引入依赖第2步:配置数据源多种配置数据源的形式数据源配置示例第3步:使用@DS注解切换数据源@DS注解详解@DS注解使用案例......
  • springboot整合springsecurity,从数据库中认证
    概述:springsecurity这个东西太容易忘了,这里写点东西,避免忘掉目录第一步:引入依赖第二步:创建user表第三步:创建一个用户实体类(User)和一个用于访问用户数据的Repository接口第四步:创建一个实现UserDetailsService接口的自定义用户详情服务类,用于从数据库中加载用户信息。第五......
  • 简历管理系统java+springboot+vue
    简历管理系统1、功能介绍1.1、演示视频2、系统部分功能展示管理员功能模块用户管理功能模块模板类型管理报名招聘管理3、系统分析技术可行性操作可行性1、功能介绍本文以Java为开发技术,实现了一个简历管理系统。主要功能:管理员登录,通过填写用户名、密码、角色......
  • MyBatis3源码深度解析(十六)SqlSession的创建与执行(三)Mapper方法的调用过程
    文章目录前言5.9Mapper方法的调用过程5.10小结前言上一节【MyBatis3源码深度解析(十五)SqlSession的创建与执行(二)Mapper接口和XML配置文件的注册与获取】已经知道,调用SqlSession对象的getMapper(Class)方法,传入指定的Mapper接口对应的Class对象,即可获得一个动态......
  • 基于SSM框架的商城的设计与实现(JSP+java+springmvc+mysql+MyBatis)
    本项目包含程序+源码+数据库+LW+调试部署环境,文末可获取一份本项目的java源码和数据库参考。项目文件图 项目介绍随着电子商务的迅猛发展,网上购物已成为人们日常生活的一部分。基于SSM(Spring+SpringMVC+MyBatis)框架的商城系统因其轻量化、高效和易于维护等特点,成为......
  • 在线选课系统(JSP+java+springmvc+mysql+MyBatis)
    本项目包含程序+源码+数据库+LW+调试部署环境,文末可获取一份本项目的java源码和数据库参考。项目文件图 项目介绍在线选课系统作为现代教育体系中重要的信息化工具,它允许学生通过互联网进行课程选择,提高了教育管理的灵活性和效率。随着教学模式的多样化和个性化学习需求......
  • 基于携程旅行平台自由行的旅游线路管理信息系统(JSP+java+springmvc+mysql+MyBatis)
    本项目包含程序+源码+数据库+LW+调试部署环境,文末可获取一份本项目的java源码和数据库参考。项目文件图项目介绍随着个性化旅游需求的增加,自由行成为越来越多旅行者的选择。基于携程旅行平台的自由行旅游线路管理信息系统,旨在为用户提供更加灵活、个性化的旅游规划服务。系......
  • 二手车市场商户管理系统(JSP+java+springmvc+mysql+MyBatis)
    本项目包含程序+源码+数据库+LW+调试部署环境,文末可获取一份本项目的java源码和数据库参考。项目文件图项目介绍随着汽车消费市场的成熟和车辆更新换代的加快,二手车交易日益频繁,形成了庞大的二手车市场。针对市场中商户的管理而言,存在着信息杂乱、交易不透明、监管困难等问......
  • 同一sql mybatis比Navicat慢了30倍
    今天帮同事处理了一个bug,有个sql语句后端执行耗时6000多毫秒,在navicat中执行只需200毫秒,速度相差30倍。项目后端mybatis,数据库pgsql。结合网上的资料和自己的经验,实验了三种方法:1、mybatis参数连接符#换成$结果有效,但有sql注入风险,代码审查不通过。2、mybatis参数固定数据......
  • mybatis工作原理简介
    一、前言本例没有引入spring框架。简单介绍了mybatis查询数据库数据的流程。 二、准备工作1,安装数据库此处安装mysql,官网下载“社区版”,过程百度。 2,安装可视化工具此处安装sqlyog,官网下载“社区版”,过程百度。3,创建maven项目,引入mybatisa,idea上,New->Project->......