Mybatis-Plus知识点[MyBatis+MyBatis-Plus的基础运用]

导读:本篇文章讲解 Mybatis-Plus知识点[MyBatis+MyBatis-Plus的基础运用],希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com


前言

Mybatis-Plus是简化开发的一款强大工具。学完Mybatis-Plus会使我们开发更加简单快速~

Mybatis-Plus知识点[MyBatis+MyBatis-Plus的基础运用]

一、了解Mybatis-Plus

1.简介

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

2.Mybatis-Plus具有的特性

  • 无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑
  • 损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作
  • 强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求
  • 支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错
  • 支持主键自动生成:支持多达 4 种主键策略(内含分布式唯一 ID 生成器 – Sequence),可自由配置,完美解决主键问题
  • 支持 ActiveRecord 模式:支持 ActiveRecord 形式调用,实体类只需继承 Model 类即可进行强大的 CRUD 操作
  • 支持自定义全局通用操作:支持全局通用方法注入( Write once, use anywhere )
  • 内置代码生成器:采用代码或者 Maven 插件可快速生成 Mapper 、 Model 、 Service 、 Controller 层代码,支持模板引擎,更有超多自定义配置等您来使用
  • 内置分页插件:基于 MyBatis 物理分页,开发者无需关心具体操作,配置好插件之后,写分页等同于普通 List 查询
  • 分页插件支持多种数据库:支持 MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、Postgre、SQLServer 等多种数据库
  • 内置性能分析插件:可输出 SQL 语句以及其执行时间,建议开发测试时启用该功能,能快速揪出慢查询
  • 内置全局拦截插件:提供全表 delete 、 update 操作智能分析阻断,也可自定义拦截规则,预防误操作

3.支持数据库

大多数主流数据库都可以使用。

  • MySQL,Oracle,DB2,H2,HSQL,SQLite,PostgreSQL,SQLServer,Phoenix,Gauss ,ClickHouse,Sybase,OceanBase,Firebird,Cubrid,Goldilocks,csiidb

  • 达梦数据库,虚谷数据库,人大金仓数据库,南大通用(华库)数据库,南大通用数据库,神通数据库,瀚高数据库

4.框架结构

Mybatis-Plus知识点[MyBatis+MyBatis-Plus的基础运用]

5.官网链接

想要了解更多可进官网学习哦~

简介 | MyBatis-Plus

二、快速开始

2.1.创建数据库以及表

代码:

-- 建库 
create database study;
use study;
-- 建表 
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user`  (
  `user_id` int(32) NOT NULL AUTO_INCREMENT COMMENT '用户id',
  `user_name` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户名称',
  `user_password` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户密码',
  `user_email` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户邮箱(用户账号)',
  `user_role` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户角色',
  `user_status` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户状态(0:正常,1:禁用)',
  PRIMARY KEY (`user_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
INSERT INTO `user` VALUES (1, '王五', '123456', 'wangwu@itcast.cn', 'ADMIN', '0');
INSERT INTO `user` VALUES (2, '张三', '12345', 'zhangsan@itcast.cn', 'USER', '0');
INSERT INTO `user` VALUES (3, '李四', '1234', 'lisi@itcast.cn', 'USER', '0');
INSERT INTO `user` VALUES (4, '赵六', '666666', 'zhaoliu@itcast.cn', 'USER', '0');

查看建好的表 

Mybatis-Plus知识点[MyBatis+MyBatis-Plus的基础运用]

2.2.创建工程

1.创建一个itcast-mybatis-plus的maven项目

Mybatis-Plus知识点[MyBatis+MyBatis-Plus的基础运用]

 2.导入所需的依赖

<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>itcast-mybatis-plus</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>
    <modules>
        <module>itcast-mybatis-plus-simple</module>
    </modules>

    <dependencies>
<!--        mybatis-plus插件依赖-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus</artifactId>
            <version>3.1.1</version>
        </dependency>
<!--        Mysql-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.11</version>
        </dependency>
<!--        连接池-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.12</version>
        </dependency>
<!--        简化bean代码的工具包-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
            <version>1.18.20</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
<!--            <scope>test</scope>-->
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>2.0.1</version>
        </dependency>
    </dependencies>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

3.查看依赖是否导入成功

Mybatis-Plus知识点[MyBatis+MyBatis-Plus的基础运用]

2.3 Mybatis+Mybatis-Plus的使用

2.3.1创建一个itcast-mybatis-plus-simple的maven项目

Mybatis-Plus知识点[MyBatis+MyBatis-Plus的基础运用]

 2.3.2写UserMapper接口

public interface UserMapper extends BaseMapper<User> {
//public interface UserMapper  {
     List<User> findAll();
}

继承BaseMapper,User是实体类

Mybatis-Plus知识点[MyBatis+MyBatis-Plus的基础运用]

 2.3.3写User实体类

package cn.itcast.study.simple.pojo;

import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
 * lombok注解 自动生成get/set 构造方法
 * */
@Data
@NoArgsConstructor//生成无参构造
@AllArgsConstructor//生成有参构造
//@TableName("user")
public class User {
    private Integer userId;
    private String userName;
    private String userPassword;
    private String userEmail;
    private String userRole;
    private String userStatus;

}

2.3.4 用mybatis-plus里的方法直接调用

Mybatis-Plus知识点[MyBatis+MyBatis-Plus的基础运用]

2.3.5 效果图

Mybatis-Plus知识点[MyBatis+MyBatis-Plus的基础运用]

从日志可看出自动生成的sql代码

Mybatis-Plus知识点[MyBatis+MyBatis-Plus的基础运用] 可以看出mybatis-plus自动将实体类首字母小写作为表名,字段名是将第一个大写字母自动变成‘_+小写字母’ 。如果表名不是user也可在实体类上加注解@TableName(“表名”)


总结

这是MyBatis和MyBatis-Plus的运用部分,后期会发Spring+Mybatis+Mybatis-Plus的使用和SpringBoot+Mybatis+Mybatis-Plus的使用,以后简单的增删改查再也不用自己写sql了,哈哈~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/114647.html

(0)
Java光头强的头像Java光头强

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!