草庐IT

尚融宝02-mybatisplus复习

zoeil 2023-04-08 原文

目录

一、简介

1、官网

2、特点

3、支持数据库

4、框架结构

二、快速入门

1、创建数据库

2、创建SpringBoot工程

3、引入依赖

4、修改配置文件

5、创建实体类

6、创建mapper接口

7、启动类添加注解

8、测试

补充、查看sql输出日志


一、简介

1、官网

http://mp.baomidou.com

2、特点

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

 

3、支持数据库

mysql 、mariadb 、oracle 、db2 、h2 、hsql 、sqlite 、postgresql 、sqlserver 、presto 、Gauss 、Firebird
Phoenix 、clickhouse 、Sybase ASE 、 OceanBase 、达梦数据库 、虚谷数据库 、人大金仓数据库 、南大通用数据库 、

4、框架结构

 

二、快速入门

1、创建数据库

创建数据库:mybatis_plus

 

创建数据表:user
CREATE TABLE user
(
	id BIGINT(20) NOT NULL COMMENT '主键ID',
	name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',
	age INT(11) NULL DEFAULT NULL COMMENT '年龄',
	email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',
	PRIMARY KEY (id)
);
INSERT INTO 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');

2、创建SpringBoot工程

 

 

3、引入依赖

注意:SpringBoot版本修改为2.3.4
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>

    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.4.1</version>
    </dependency>

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</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>
        <exclusions>
            <exclusion>
                <groupId>org.junit.vintage</groupId>
                <artifactId>junit-vintage-engine</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
</dependencies>

4、修改配置文件

在  application.properties 配置文件中添加 MySQL 数据库的相关配置:
#mysql数据库连接
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=GMT%2B8&characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=123456

注意:如果定义了mysql驱动的依赖的版本为5,例如

<version>5.1.47</version>

则数据库连接配置为

#mysql数据库连接
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?characterEncoding=utf-8&useSSL=true
spring.datasource.username=root
spring.datasource.password=123456

5、创建实体类

创建包 entity,编写实体类  User.java,并使用lombok简化 实体类的编写
package com.atguigu.mybatisplus.entity;

@Data
public class User {
    private Long id;
    private String name;
    private Integer age;
    private String email;
}
查看编译结果,lombok为entity生成了get、set方法和equals、hashCode、canEqual、toString方法

 

6、创建mapper接口

创建包  mapper,编写Mapper 接口:  UserMapper.java
public interface UserMapper extends BaseMapper<User> {
    
}

7、启动类添加注解

在 Spring Boot 启动类中添加  @MapperScan  注解,扫描 Mapper 文件夹
package com.atguigu.mybatisplus;

@SpringBootApplication
@MapperScan("com.atguigu.mybatisplus.mapper")
public class MybatisPlusApplication {
    ......
}

8、测试

添加测试类,进行功能测试:

package com.atguigu.mybatisplus;

@SpringBootTest
class MybatisPlusApplicationTests {

	//@Autowired //默认按类型装配。是spring的注解
	@Resource //默认按名称装配,找不到与名称匹配的bean,则按照类型装配。是J2EE的注解
	private UserMapper userMapper;

	@Test
	void testSelectList() {
		//selectList()方法的参数:封装了查询条件
		//null:无任何查询条件
		List<User> users = userMapper.selectList(null);
		users.forEach(System.out::println);
	}
}

通过以上几个简单的步骤,我们就实现了 User 表的 CRUD 功能,甚至连 XML 文件都不用编写!

补充、查看sql输出日志

#mybatis日志
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

有关尚融宝02-mybatisplus复习的更多相关文章

  1. Matlab imread()读到了什么 (浅显 当复习文档了) - 2

    matlab打开matlab,用最简单的imread方法读取一个图像clcclearimg_h=imread('hua.jpg');返回一个数组(矩阵),往往是a*b*cunit8类型解释一下这个三维数组的意思,行数、数和层数,unit8:指数据类型,无符号八位整形,可理解为0~2^8的数三个层数分别代表RGB三个通道图像rgb最常用的是24-位实现方法,即RGB每个通道有256色阶(2^8)。基于这样的24-位RGB模型的色彩空间可以表现256×256×256≈1670万色当imshow传入了一个二维数组,它将以灰度方式绘制;可以把图像拆分为rgb三层,可以以灰度的方式观察它figure(1

  2. postman——集合——执行集合——测试脚本——pm对象简单示例02 - 2

    //1.验证返回状态码是否是200pm.test("Statuscodeis200",function(){pm.response.to.have.status(200);});//2.验证返回body内是否含有某个值pm.test("Bodymatchesstring",function(){pm.expect(pm.response.text()).to.include("string_you_want_to_search");});//3.验证某个返回值是否是100pm.test("Yourtestname",function(){varjsonData=pm.response.json

  3. 牛客网专项练习30天Pytnon篇第02天 - 2

    1.在Python3中,下列关于数学运算结果正确的是:(B)a=10b=3print(a//b)print(a%b)print(a/b)A.3,3,3.3333...B.3,1,3.3333...C.3.3333...,3.3333...,3D.3.3333...,1,3.3333...解析:    在Python中,//表示地板除(向下取整),%表示取余,/表示除(Python2向下取整返回3)2.如下程序Python2会打印多少个数:(D)k=1000whilek>1:    print(k)k=k/2A.1000 B.10C.11D.9解析:    按照题意每次循环K/2,直到K值小于等

  4. Ruby:为什么 1.025.round(2) 四舍五入为 1.02? - 2

    据我了解.round()-ruby中的功能将小数向上舍入,最后一个有效数字是5?例如1.5.round(0)#=>2(OK)但为什么1.025.round(2)#=>1.02而不是我期望的1.03?irb(main):037:0>1.025.round(2)=>1.02我该怎么做才能解决这个问题? 最佳答案 这与最后一位数字为5无关,与将十进制值转换为double浮点值有关。http://en.wikipedia.org/wiki/Double_precision_floating-point_format基本上,十进制数必须以有限

  5. 软考网络工程师复习指导--下午题必考-组网技术-华为命令汇总 - 2

    文章目录1、考试介绍2、软考网络工程师前景3、软考网络工程师考试内容4、华为命令总结1、考试介绍软考是一个以考试代替评职称的考试,每年都会举行两次考试,一般都在5月份和11月份考试,今年我们的省份取消了考试。具体参考官网中国计算机技术职业资格网可以在上面查看报考时间和报名等。本人准备2021年下半年全国计算机技术与软件专业技术中网络工程师,谁知道疫情就来的很巧,辛辛苦苦复习了三个月,终于整明白头绪了,但是天不遂人愿,疫情导致取消了考试,但是是害怕我是去捐款的吗?2、软考网络工程师前景随着计算机的远程信息化处理应用的高速发展和广泛应用,网络已成为经济发展的强大动力。计算机网络工程是计算机技术和通

  6. Elasticsearch--02.Kibana8.1.0安装 - 2

    1.下载安装概述:Kibana是一个针对Elasticsearch的开源分析及可视化平台,用来搜索、查看交互存储在Elasticsearch索引中的数据。使用Kibana,可以通过各种图表进行高级数据分析及展示。下载地址:Kibana8.1.0|Elastic解压到指定目录:tar-xzvfkibana-8.1.0-linux-x86_64.tar.gz-C/opt/module/2.Kibana生成证书文件在es服务器中生成证书、直接回车cd/opt/module/elasticsearch-8.1.0/bin/elasticsearch-certutilcsr-namekibana-dns

  7. MyBatisPlus总结 - 2

    目录MyBatisPlusMP特点MP框架结构MP使用准备导入依赖springboot整合mybatisplus配置文件定义好实体类User后编辑mapper接口@Mapper与@MapperScan("包名")区别MP基本操作新增操作删除操作通过id删除用户通过map作为条件删除通过多个id实现删除更新用户通过id进行用户更新查询用户 根据id查询用户根据多个id查询用户根据map集合作为条件查询用户通用Service接口一些操作 查询总记录数批量添加数据MP常用注解雪花算法前言垂直分表水平分表条件构造器继承结构使用条件构造器实现查询操作查询所有用户根据构造器查询主键字段集合根据条件构造器查

  8. 【愚公系列】2023年02月 微信小程序-Flex布局详解 - 2

    文章目录一、Flex布局详解1.Flex布局的概念1.1传统布局1.2Flex布局1.3Flex布局声明2.Flex布局的容器属性2.1flex-direction属性2.2flex-wrap属性2.3flex-flow属性2.4justify-content属性2.5align-items属性2.6align-content属性3.Flex布局的项目属性3.1order属性3.2flex-grow属性3.3flex-shrink属性3.4flex-basis属性3.5flex属性3.6align-self属性总结一、Flex布局详解1.Flex布局的概念1.1传统布局盒子模型:我们知道当并列

  9. 现代密码学复习 - 2

    密码学总结目录密码学总结第一章——只因础模型与概念1.1密码学五元组(结合🐏皮卷)1.2Dolev-Yao威胁模型1.3攻击类型1.4柯克霍夫原则(Kerckhoffs'sprinciple)1.5对称、非对称加密1.6密码的目标1.7保密通信模型第二章——古典密码2.1仿射密码2.2Hill密码例题0——解同余方程组例题1——仿射密码例题2——希尔密码第三章——DES算法IP置换E扩展S盒压缩P盒置换秘钥生成分组加密扩散与混淆3DES第四章——高级加密标准4.1x乘法4.2AES算法第五章——RSA与公钥加密通信开销对比加密过程证明例题第六章——离散对数与数字签名6.1离散对数问题6.2中间

  10. 华为OD机试 - 删除最少字符(Python) | 机试题算法思路 【2023-02】 - 2

    最近更新的博客华为OD机试-数组合并(Python),真题含思路华为OD机试-最近的医院(Python),简单直白疑问搞懂,python中文词频统计,让你真能学会华为OD机试-最小传递延迟(Python)|代码编写思路+核心知识点字体反爬,一种来自字体设计师的跨行反爬案例|案例282023新华为OD机试题-事件推送(JavaScript)|刷完必过使用说明参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。华为OD清单查看地址:blog.csdn.net/hihell/category_12199275.html华为O

随机推荐