【Mybatis】SpringBoot整合Mybatis

news2024/9/20 9:46:13

唠嗑部分

之前我们说了Mybatis的一些文章,相关文章:
【Mybatis】简单入门及工具类封装-一
【Mybatis】如何实现ORM映射-二
【Mybatis】Mybatis的动态SQL、缓存机制-三
【Mybatis】Mybatis处理一对多、多对多关系映射-四

这篇文章我们来说说SpringBoot如何整合Mybatis,实现快速开发

首先创建环境,表结构

create database `spring-boot-mybatis-case` character set 'utf8mb4';
use `spring-boot-mybatis-case`;

create table t_user(
    id int primary key auto_increment,
    name varchar(100),
    create_time datetime
);

insert into t_user values (null, 'zs', now())

言归正传

1、创建SpringBoot项目,省略,可参考文章:

2、导入相关依赖,pom.xml

<dependencies>
<!--        web启动器-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
<!--        SpringBoot测试依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
        </dependency>
<!--        Mybatis整合SpringBoot依赖-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.4</version>
        </dependency>
<!--        MySQL驱动包依赖-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.47</version>
        </dependency>
<!--        lombok依赖-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
<!--        这个依赖用于Table注解-->
        <dependency>
            <groupId>javax.persistence</groupId>
            <artifactId>persistence-api</artifactId>
            <version>1.0</version>
        </dependency>
    </dependencies>

3、写实体类(省略)、Mapper接口及映射文件,创建查询所有用户的方法

/**
* @author lenovo
* @description 针对表【t_user】的数据库操作Mapper
* @createDate 2023-05-09 16:00:30
* @Entity com.cxs.model.User
*/
public interface UserMapper {
    List<User> selectAll();
}

UserMapper.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.cxs.mapper.UserMapper">

    <resultMap id="BaseResultMap" type="com.cxs.model.User">
            <id property="id" column="id" jdbcType="INTEGER"/>
            <result property="name" column="name" jdbcType="VARCHAR"/>
            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
    </resultMap>

    <sql id="Base_Column_List">
        id,name,create_time
    </sql>
    <select id="selectAll" resultType="com.cxs.model.User">
        select * from t_user;
    </select>
</mapper>

4、配置类添加注解 @MapperScan,用来扫描Mapper接口

/**
 * @Project: spring-boot-mybatis-case
 * @Author: cxs2014501@163.com
 * @Create: 2023/5/9 15:57
 * @Description:
 **/
@SpringBootApplication
@MapperScan(basePackages = "com.cxs.mapper")
public class MybatisApplication {
    public static void main(String[] args) {
        SpringApplication.run(MybatisApplication.class, args);
    }
}

5、application.yml配置文件

spring:
#  数据源配置
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql:///spring-boot-mybatis-case?characterEncoding=utf-8&useSSL=false
    username: root
    password: swhy
mybatis:
  # 别名包
  type-aliases-package: com.cxs.model
  # 映射文件位置
  mapper-locations: classpath:mappers/*.xml
  configuration:
    # 开启驼峰映射
    map-underscore-to-camel-case: true

6、整体项目结构

image-20230509161410816

7、创建测试类、测试接口

image-20230509161632803

完结撒花

结语

1、SpringBoot整合Mybatis就结束了,其实是Mybatis整合的SpringBoot。

2、制作不易,一键三连再走吧,您的支持永远是我最大的动力!

3、案例源码上传至群文件,获取方式,Q群:941095490,自行在群文件下载

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/535670.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

前端面试高频题精讲(一)

HTML篇 什么是语义化 用正确的标签做正确的事情。例如&#xff1a;段落用 p 标签&#xff0c;标题用 h 系列标签。 便于团队的开发和维护&#xff0c;我见过用div走天下的&#xff0c;但不利于看清页面结构。在没有加载 CSS 的情况下也能呈现较好的内容结构与代码结构&#xf…

Ubuntu18.04/20.04/22.04的Apollo8.0软件包安装(免编译)

本文主要介绍在如何使用软件包&#xff08;即 deb 包&#xff09;的方式来安装 Apollo&#xff0c;相对于源码方式安装&#xff0c;软件包安装方式不需要编译&#xff0c;更加快捷。但是对环境的支持比较单一&#xff0c;如果在自定义环境内安装&#xff0c;请移步源码安装方式…

camunda流程引擎connector如何使用

在 Camunda 中&#xff0c;Connector 是一种用于与外部系统或服务交互的机制。它允许 BPMN 模型中的 Service Task 节点与外部系统或服务进行通信&#xff0c;从而使流程更加灵活和可扩展。使用 Connector&#xff0c;可以将业务流程与外部系统集成在一起&#xff0c;而无需编写…

java商城 java电子商务Spring Cloud+Spring Boot+mybatis+MQ+VR全景+b2b2c

一个好的SpringCloudSpringBoot b2b2c 电子商务平台涉及哪些技术、运营方案&#xff1f;以下是我结合公司的产品做的总结&#xff0c;希望可以帮助到大家&#xff01; 搜索体验小程序&#xff1a;海哇 1. 涉及平台 平台管理、商家端&#xff08;PC端、手机端&#xff09;、买家…

Python学习27:存款买房(A)

描述‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬ 你刚刚大学毕业&#xff0c;…

亚马逊如何提高商品listing转化率?测评自养号优势和技巧有哪些?

之前有讲过&#xff0c;亚马逊店铺流量的几大入口&#xff0c;如何获取流量。那么获取了流量之后&#xff0c;亚马逊卖家就需要考虑到转化率的问题&#xff0c;如果流量来没有转化率&#xff0c;一样不会产生订单。如果转化率太低还会影响到商品的表现&#xff0c;比如排名会下…

亚马逊云科技基础设施为大型模型推理提供技术保障

在2019年的亚马逊云科技re:Invent上&#xff0c;亚马逊云科技发布了新的基础设施Inferentia芯片和Inf1实例。Inferentia是一种高性能机器学习推理芯片&#xff0c;由亚马逊云科技定制设计&#xff0c;其目的是提供具有成本效益的大规模低延迟预测。时隔四年&#xff0c;2023年4…

使用particles动态粒子效果,优化登录页

前言 书接上回&#xff0c;咱不是做了落日余晖登录页&#xff0c;说白了就是一个背景图&#xff0c;感觉需要进一步优化一下&#xff0c;做一个高大上的效果。所图所示&#xff0c;我想要背后的动态粒子效果&#xff0c;这就开搞&#xff0c;基于老的代码&#xff1a;vue2和el…

10种最常用的3D 分析工具【GIS】

3D 分析一直是 GIS 中的一个增长趋势&#xff0c;因为它可以更好地表示现实世界。 这不仅仅是为了一张漂亮的图片。 对于某些类型的问题&#xff0c;3D 分析有时是你解决问题的唯一方法。 推动这一需求的 3D 数据类型也呈爆炸式增长。 例如&#xff0c;激光雷达、BIM、无人机…

S7-200SMART 实现MODBUS TCP通信的具体方法示例(客户端读写+服务器响应)

S7-200SMART 实现MODBUS TCP通信的具体方法示例(客户端读写+服务器响应) 前面和大家介绍了MODBUS TCP的基本使用方法,具体可参考以下链接中的内容: S7-200SMART实现MODBUS TCP通信(客户端+服务器)的具体方法和步骤示例 本次继续和大家分享S7-200SMART 中实现MODBUS TCP通…

界面控件DevExtreme使用指南 - 如何为雷达图添加注释?

在之前的版本中&#xff0c;官方技术团队为DevExtreme图表引入了注释支持。在v20.1版本中&#xff0c;继续扩展了对Polar Chart&#xff08;雷达图&#xff09;注释的支持&#xff0c;现在可以根据需要应用文本、图像或自定义注释。创建注释后&#xff0c;可以将其附加到Polar …

【Git基础】Gitlab的使用

文章目录 1. 搭建Gitlab1.1 Gitlab介绍1.2 搭建Gitlab 2. Gitlab的权限管理2.1 用户注册2.2 创建用户组2.3 为用户组添加用户2.4 为工程添加访问权限 3. Gitlab的code review4. 团队知识管理4.1 是什么4.2 为什么4.3 怎么做 1. 搭建Gitlab 1.1 Gitlab介绍 GitLab是一个基于Ru…

Kylin-Server-10-SP2-x86_64安装HDP2.7.5.0、Ambari【已解决】

Kylin-Server-10-SP2-x86_64安装HDPAmbari【已解决】 报错赏析解决方案os_check.py主要是三个修改点 参考&#xff1a; 报错赏析 ERROR: Unexpected error Ambari repo file path not set for current OS. ERROR: Exiting with exit code 1. REASON: Failed to create user. E…

anji-plus / AJ-Captcha行为验证码前后端实现

一&#xff0c;简介及源码、文档地址 AJ-Captcha行为验证码&#xff0c;包含滑动拼图、文字点选两种方式&#xff0c;UI支持弹出和嵌入两种方式。后端提供Java实现&#xff0c;前端提供了php、angular、html、vue、uni-app、flutter、android、ios等代码示例。 行为验证码采用嵌…

【软考数据库】第十三章 云计算与大数据处理

目录 13.1 云计算 13.1.1 云计算的关键特征 13.1.2 云计算分类 13.1.3 云关键技术 13.1.4 云计算的安全 13.1.5 云安全实施的步骤 13.2 大数据 前言&#xff1a; 笔记来自《文老师软考数据库》教材精讲&#xff0c;精讲视频在b站&#xff0c;某宝都可以找到&#xff0c…

天线学习笔记——波导中微波模式的理解(TE/TM/TEM)

三种模式的解释 TE/TM/TEM中的“T”是指Transverse的缩写&#xff0c;本意是“横向”&#xff0c;在微波模式中指的是“与传输方向相垂直的方向”&#xff0c;比如说&#xff1a;在三维笛卡尔直角坐标系中波导中的电磁波传输方向是沿着z轴&#xff0c;则把x方向和y方向称为横向…

【8086汇编】用DS和[address]实现字的传送

CPU从内存中读取一个数据单元的数据(1个字节8位)&#xff0c;或者读取一个字的数据&#xff08;2个字节16位&#xff09; DOSBox实操代码验证

低代码应用开发:告别繁琐,实现高效创新

随着企业数字化转型的不断推进&#xff0c;对于软件开发速度、效率和成本的要求也在不断提高。与此同时&#xff0c;随着技术发展&#xff0c;低代码技术逐渐成为了企业快速实现数字化转型的利器。如今&#xff0c;低代码已经广泛应用于各行各业&#xff0c;帮助企业提高应用开…

Splashtop Business Access - 个人和团队可以简单快速、安全高效地访问远程计算机。

Splashtop Business Access&#xff0c;从智能手机&#xff0c;平板电脑或另一台计算机远程访问 Windows PC 和 Mac –就像您坐在计算机前一样。 SPLASHTOP BUSINESS ACCESS 的主要功能 高性能 Splashtop Business Access和我们屡获殊荣的为数以百万计的消费用户提供的产品一…

初识软件测试(常见软件开发模型)

文章目录 软件测试概念篇1. 软件测试常见问题1) 什么是软件测试?2) 调试和测试的区别?3) 测试人员需要具备哪些素质? 2. 软件测试常见名词解释1) 需求2) 软件错误(bug)3) 测试用例 3. 软件的生命周期4. 开发模型1) 瀑布模型2) 螺旋模型3) 增量模型和迭代模型4) 敏捷模型 软件…