SpringBoot3+Mybatis-Plus+h2数据库,入门Mybatis-Plus

【SpringBoot3】Spring Boot 3.0 集成 Mybatis Plus MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 阅读详情

mybatis-plus官网地址

https://www.baomidou.com/

maven依赖

 <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.3.0</version>
        <relativePath/> <!-- lookup parent from repository -->
</parent>
 <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!-- h2数据库依赖 -->
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
        <!--mybatis-plus配置-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.6</version>
        </dependency>
        <!--mybatis-spring的配置-->
        <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>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>    

数据库脚本

src/main/resources/db/schema-h2.sql

DROP TABLE IF EXISTS sys_user;

CREATE TABLE sys_user
(
    id BIGINT NOT NULL COMMENT '主键ID',
    name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',
    age INT NULL DEFAULT NULL COMMENT '年龄',
    email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',
    PRIMARY KEY (id)
);

src/main/resources/db/data-h2.sql

DELETE FROM sys_user;

INSERT INTO sys_user (id, name, age, email) VALUES
(1, 'Jone', 18, 'test1@baomidou.com'),
(2, 'Jack', 20, 'test2@baomidou.com'),
(3, 'Tom', 28, 'test3@baomidou.com'),
(4, 'Sandy', 21, 'test4@baomidou.com'),
(5, 'Billie', 24, 'test5@baomidou.com');

配置文件

src/main/resources/application.yml

server:
  # 端口
  port: 9090
# 数据库配置
spring:
  datasource:
    # 驱动名称
    driver-class-name: org.h2.Driver
    # 自定义用户名
    username: root
    # 自定义密码
    password: test
    # 数据库地址:jdbc:h2:mem:数据库名称(随意填写,会自动创建
    url: jdbc:h2:mem:test
  h2:
    console:
      enabled: true
      path: /h2
      settings:
        web-allow-others: true
  sql:
    init:
      platform: h2
      # 数据库初始脚本
      schema-locations: classpath:db/schema-h2.sql
      # 数据库中表的初始脚本
      data-locations: classpath:db/data-h2.sql
# 日志输出级别
logging:
  level:
    com.example: debug

实体类

package org.example.entity;

import lombok.Data;

/**
 * @author 16837
 */
@Data
public class SysUser {
    private Long id;
    private String name;
    private Integer age;
    private String email;
}

Mapper

package org.example.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.example.entity.SysUser;

/**
 * @author 16837
 */
public interface SysUserMapper extends BaseMapper<SysUser> {
}

入门程序

package org.example;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * @author 16837
 */
@MapperScan("org.example.mapper")
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

启动程序测试

访问路径: http://localhost:9090/h2
在这里插入图片描述
登录成功后的界面
在这里插入图片描述
在这里插入图片描述

单元测试

package org.example;

import jakarta.annotation.Resource;
import org.example.entity.SysUser;
import org.example.mapper.SysUserMapper;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import java.util.List;

@RunWith(SpringRunner.class)
@SpringBootTest(classes = Application.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class ApplicationTest {

    @Resource
    private SysUserMapper userMapper;

    @Test
    public void testSelect() {
        System.out.println(("----- selectAll method test ------"));
        List<SysUser> userList = userMapper.selectList(null);
        userList.forEach(System.out::println);
    }

}

测试结果

在这里插入图片描述

Service层接口

package org.example.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.example.entity.SysUser;

public interface SysUserService extends IService<SysUser> {
}

package org.example.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.example.entity.SysUser;
import org.example.mapper.SysUserMapper;
import org.example.service.SysUserService;
import org.springframework.stereotype.Service;

@Service
public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements SysUserService {
}

service层接口单元测试

package org.example;

import jakarta.annotation.Resource;
import org.example.entity.SysUser;
import org.example.mapper.SysUserMapper;
import org.example.service.SysUserService;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import java.util.List;

@RunWith(SpringRunner.class)
@SpringBootTest(classes = Application.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class ApplicationTest {

    @Resource
    private SysUserService userService;

    @Test
    public void testSelect() {
        System.out.println(("----- selectAll method test ------"));
        List<SysUser> userList = userService.list();
        userList.forEach(System.out::println);
    }

}

测试结果

在这里插入图片描述

项目结构

在这里插入图片描述

Spring Boot 使用 Mybatis-Plus 一、Mybatis-Plus 概述 Mybatis-Plus 支持非常多的数据库,常规的有 MySQL,H2,SQLite,SQLServer 等等。 这边我将使用 H2 数据库做一次测试。 二、本地 H2 数据的配置 2.1 下载和配置 H2 数据库 H2数据库官网:https://www.h2database.com/html/main.html 在本地用户目录底下新建一个文件 test.mv.d,test表示数据库名称,你可以自定义名称。 在本地H2 目录下找到 h2\bin\h2.bat文件,这个是 阅读详情

相关推荐

从零开始:Spring Boot+Mybatis高效集成H2数据库教程

从零起步,本教程详细展示了在Spring Boot项目中整合Mybatis与H2数据库的全过程。首先配置依赖,包括Spring Boot、Mybatis和H2,并在application.properties设置数据源。接着指导如何配置Mybatis以实现Java接口与SQL映射文件绑定,并演示如何使用H2内存数据库及Web控制台进行数据管理。通过实战示例展示CRUD操作,同时介绍启动时自动执行初始化脚本的方法。最后,强调了这一组合在快速开发与测试中的高效性与便捷性。

庄的博客 5172

MyBatis 增强框架 MyBatis-Plus 快速使用入门(H2内存数据库)

1、官方开发文档:。

蚩尤后裔-汪茂雄 4485

SpringBoot 集成mybatis-plus

本篇博客,基于mybatis-plus官网,简单了解和实际运用mybatis-plusMyBatis-Plus 是 一个 MyBatis的增强工具,为简化springboot开发、提高效率而生。简介 | MyBatis-Plus。

m0_74824517的博客 1033

SpringBoot笔记:SpringBoot集成MybatisPlus、H2纯内存数据库实战

有一些使用场景比较简单不需要搭建mysql等比较重型的服务,使用小而轻巧的内存数据库也能满足要求,本文将实战操作纯内存型数据库H2。非常快、开源、支持JDBCAP嵌入式和服务式模式,内存型数据库基于浏览器控制台的应用程序,不需要安装第三方工具占用空间小,jar仅仅只有2MB大小springboot整合h2和sqlite、mysql差不多,代码库地址如下httpshttpshttpshttps。...

u011047968的专栏 5050

springboot整合h2数据库实战

springboot整合h2数据库实战,实现单元测试时与真实DB数据库解耦,h2实时建库建表

银河麒麟v10装Docker实战:在线离线安装与容器部署指南

容器技术作为现代软件交付的核心方式,通过将应用与依赖打包成镜像,实现了环境的一致性与快速部署。Docker作为最流行的容器引擎,其安装与配置是上云和国产化转型中的基础技能。在国产操作系统银河麒麟v10环境中,由于系统兼容性和网络环境的差异,Docker的部署需要特别注意在线与离线两种模式的选择。本文从基础概念出发,结合麒麟v10的实际环境,详细梳理了Docker引擎的安装、镜像加速、存储配置以及MySQL、Redis等常用容器的部署方法,并针对SELinux、cgroup驱动等常见问题给出了解决方案,帮助开

weixin_30431445的博客 143

Springboot+Mybatis Plus+H2 database项目搭建

背景 因为业务需要,项目中需要使用内嵌式数据库,翻了翻之前使用h2的demo,发现竟没有一个完整的,于是重新搭建一下,顺便记录。 开发环境 jdk 8.0 maven 3.3.9 mybatis plus 3.2.0 h2database 1.4.200 开发工具:IDEA 相关技术 mybatis plus 看名字就能大概知道,是mybatis 的增强版,主要特点是快速配置,简化开发,具体可以参考mybatis plus官网,内容非常详细。 优点 支持多种数据库 代码生成 单表CRUD 支持pa

右手无名指 3987

别再只用线性回归了!用sklearn的核岭回归搞定非线性数据(附RBF核调参实战)

本文详细介绍了如何使用sklearn的核岭回归处理非线性数据,特别是RBF核的应用与调参实战。通过网格搜索找到最佳参数组合,核岭回归能有效捕捉数据中的复杂波动,显著提升模型性能。适合需要解决非线性问题的数据科学家和机器学习工程师。

weixin_34246529的博客 336

SpringBoot整合H2数据库

H2是一个Java语言编写的嵌入式数据库,它不受平台的限制,同时H2提供了一个十分方便的web控制台,用于操作和管理数据库内容。H2还提供兼容模式,可以兼容一些主流的数据库,也可以为缓存数据库使用,它具有比较完备的数据库特性,如支client/server连接,能够支持标准的SQL语句,支持存储过程等。因此采用H2作为开发期、测试期和演示的数据库非常方便,它不太适合作为大规模生产数据库。

白豆五的博客 1万+

APP抓包-代理转发绕过反代理+Xposed绕过证书校验

而这里的牛牛不止设置了反代理还设置了证书校验,一闪而过的三个数据包就是在校验证书。而proxifier工具的转发机制获取的是网络接口出口数据,相当于是在网络接口设代理。这个时候就可以在夜神打开牛牛开始抓包了,打开牛牛可以看到proxifier有夜神流量通过。关闭代理之后牛牛就正常了,可恶的牛牛啊,这样我没办法抓包啊,怎么办啊。模拟器开启代理,burp开启监听。打开牛牛app,牛牛不在报错。牛牛app检测的是系统代理,也就是在模拟器或手机上设置的代理。再在浏览器下载两个模块,在夜神安装,用来屏蔽证书校验。

xiaoheizi的博客 7530

27、超声成像技术与原理全面解析

本博客全面解析了超声成像技术与原理,涵盖声学材料特性、超声成像系统的基本概念与组成、关键技术如多普勒和聚焦技术、超声换能器的设计与原理、图像处理方法、系统校准与质量控制,以及超声成像的应用领域和发展趋势。旨在为医学诊断、工业检测和海洋声学等领域的研究人员和工程师提供深入的技术参考和指导。

z2a3b4c5d的博客 489

H2 Database 集成 Spring Boot + MyBatis-Plus 教程

通过以上步骤,您已成功在 Spring Boot 3 项目中集成了 H2 内存数据库,并结合 MyBatis-Plus 实现了数据库的初始化与基本操作。H2 数据库的轻量级和易用性使其成为开发和测试环境中的理想选择。结合 MyBatis-Plus 的强大功能,可以大幅提升开发效率,简化数据库操作。​​提示:​​ 在实际生产环境中,建议使用更为稳定和功能丰富的数据库(如 MySQL、PostgreSQL 等),H2 更适合开发和测试用途。

Rysxt_的博客 429

《网络安全自学教程》- Nmap使用及扫描原理分析

使用Nmap进行端口扫描、主机发现、服务识别、操作系统识别、指定脚本、结果导出文件,使用wireshark抓包分析扫描原理。

wangyuxiang946的博客 1万+

SpringBoot3集成H2数据库

H2数据库内嵌模式

orixixi的博客 1883

自然语言处理之话题建模:BERTopic模型详解

BERTopic是一种基于BERT的先进话题建模技术,它结合了BERT的语义理解能力和非参数聚类算法HDBSCAN的灵活性,能够生成高质量、语义丰富的话题。与传统的LDA(Latent Dirichlet Allocation)话题模型相比,BERTopic能够更好地捕捉文本的复杂语义结构,因为它利用了预训练的BERT模型来嵌入文本,从而在话题建模中引入了深度学习的力量。聚类是无监督学习的一种,其目标是将数据集中的样本按照相似性进行分组,每个组称为一个“簇”。

zhubeibei168的博客 4534

从零实现深度学习框架【实现自己的PyTorch(已完结)】

本着“凡我不能创造的,我就不能理解”的思想,此系列文章会基于纯Python以及NumPy从零创建自己的深度学习框架,该框架类似PyTorch能实现自动求导。

日积月累,天道酬勤 6859

SpringBoot整合H2Database(IDEA)

使用idea快速创建一个springboot工程项目快速整合H2Database

Symon的博客 1195

23、视频时间码与数字同步技术详解

本文深入解析了视频时间码与数字同步技术的核心原理及应用。涵盖线性时间码(LTC)和垂直间隔时间码(VITC)的结构与特性,详细阐述了降帧时间码的补偿机制及其在影视制作中的重要性。文章还介绍了定时参考信号(TRS)在SDTV和HDTV中的实现方式,分析了辅助数据的传输结构与发展趋势,并探讨了SDI编码技术及其在不同视频标准下的差异。通过实际应用场景和技术发展影响的剖析,全面展示了这些关键技术如何支撑现代视频系统的高效运行与持续创新。

wine的专栏 236

SpringBoot3与MyBatis-Plus

MyBatis-Plus(简称 MP)是一个基于 MyBatis 的增强工具,提供通用 CRUD 操作、代码生成器、条件构造器、分页插件等功能,简化开发流程,提升效率。

nie6668888的博客 1545

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Mybatis-Plus:简介、入门案例

Mybatis-Plus简介、入门案例的编写

m0_62909831的博客 2363

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

MyBatis-Plus(SpringBoot版本)

注意事项:1.如果主键对应的实体类属性中没有设置主键的生成策略,那么MP自动为主键生成值,且回填到实体对象下;2.如果未指定主键生成策略,即使表的主键是主键自增,也不会使用主键自增;映射表中主键字段与实体类属性的关系(尤其表中主键字段名称与实体类属性名称不一致时);定义主键生成策略;@TableId使用:添加在实体类的主键对应的成员属性上即可;@TableName("tb_user") // 指定表名@Data@Builder。

loongnoy的博客 4043

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

【MyBatis Plus】从入门到精通带你领悟MyBatis-Plus

MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。

万维网连五洲,二进制写尽天下事,喜欢结识新伙伴寻找志同道合的朋友,欢迎一起探讨学习 3170

springboot2集成mybatis-plus

一. MyBatis-Plus简介 简介: MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 另最新的3.x版本支持lambda()语法糖, 方便以代码方式组织SQL语句. 核心特性 卖点 说明 无侵入 只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑 损耗小 启动...

liuwei0376的专栏 6658

MyBatis-Plus(SpringBoot版)学习第一讲:简介&入门案例

(简称MP)是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。Mybatis-Plus提供了通用的Mapper和Service,可以在不编写任何SQL语句的前提下,快速的实现单表的增删改查(CURD),批量,逻辑删除,分页等操作。只要把MyBatis-Plus的特性到优秀插件,以及多数据源的配置进行详细讲解。愿景我们的愿景是成为 MyBatis 最好的搭档,就像魂斗罗中的 1P、2P,基友搭配,效率翻倍。

m0_75163045的博客 1752

SpringBoot连接数据库以及Mybatis-Plus使用

简化数据库操作:MyBatis是一个开源的Java持久层框架,它允许开发者使用纯SQL语句进行数据库操作,从而简化了数据库操作的编写和管理。提高开发效率:通过配置文件或注解,MyBatis可以轻松实现Java对象和数据库表之间的映射关系,降低了代码的维护成本,提高了开发效率。灵活性和可扩展性:MyBatis提供了动态SQL、缓存机制、事务管理等丰富功能,以满足各种复杂的数据库操作需求。同时,其插件机制也为开发者提供了对SQL执行过程进行拦截和增强的能力。

weixin_67554022的博客 1456
上一篇: AI编程插件Fitten Code
下一篇: postgresql中如何把列中的每一行数据变成列的标题
迷失的小鹿
博客等级 码龄8年 1万+粉丝 199原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值