您现在的位置是:首页 >技术教程 >33.Mybatis-Plus网站首页技术教程

33.Mybatis-Plus

醉梦依依惜 2024-06-21 00:01:02
简介33.Mybatis-Plus

一、Mybatis-Plus。

(1)简介。

(2)快速开始_准备工作。

对于Mybatis整合MP有常常有三种用法,分别是Mybatis+MP、Spring+Mybatis+MP、Spring Boot+Mybatis+MP。

(2.1)创建数据库以及表。

1.创建数据库mp,字符集选utf-8。

2.创建表、插入数据。 

-- 创建测试表
CREATE TABLE `tb_user` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`user_name` varchar(20) NOT NULL COMMENT '用户名',
`password` varchar(20) NOT NULL COMMENT '密码',
`name` varchar(30) DEFAULT NULL COMMENT '姓名',
`age` int(11) DEFAULT NULL COMMENT '年龄',
`email` varchar(50) DEFAULT NULL COMMENT '邮箱',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
-- 插入测试数据
INSERT INTO `tb_user` (`id`, `user_name`, `password`, `name`, `age`, `email`) VALUES
('1', 'zhangsan', '123456', '张三', '18', 'test1@itcast.cn');
INSERT INTO `tb_user` (`id`, `user_name`, `password`, `name`, `age`, `email`) VALUES
('2', 'lisi', '123456', '李四', '20', 'test2@itcast.cn');
INSERT INTO `tb_user` (`id`, `user_name`, `password`, `name`, `age`, `email`) VALUES
('3', 'wangwu', '123456', '王五', '28', 'test3@itcast.cn');
INSERT INTO `tb_user` (`id`, `user_name`, `password`, `name`, `age`, `email`) VALUES
('4', 'zhaoliu', '123456', '赵六', '21', 'test4@itcast.cn');
INSERT INTO `tb_user` (`id`, `user_name`, `password`, `name`, `age`, `email`) VALUES
('5', 'sunqi', '123456', '孙七', '24', 'test5@itcast.cn');

(2.2)创建工程。

1.创建一个maven工程。

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>Mybatis_Plus</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>
    <modules>
        <module>Mybatis_and_MP</module>
    </modules>
    <properties>
        <maven.compiler.source>15</maven.compiler.source>
        <maven.compiler.target>15</maven.compiler.target>
    </properties>
    <dependencies>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus</artifactId>
            <version>3.5.3.1</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.27</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.2.8</version>
        </dependency>
        <!--简化bean代码的工具包-->
        <dependency>
            <!--Lombok 是一个 Java 工具库,可以帮助我们减少冗余代码,提高开发效率。通过使用 Lombok 提供的注解,
            我们可以自动生成许多 Java 中常见的代码,例如 getter/setter 方法、构造函数、equals/hashcode 方法等。
            另外,该代码中的 <optional> 元素被设置为 true,表示 Lombok 库不是必需的依赖项,而是可选的依赖项。-->
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
            <version>1.18.26</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <!--SLF4J 是 Simple Logging Facade for Java 的缩写,它提供了一个简单的日志接口,使得应用程序可以方便地切换不同的日志框架实现。
            具体来说,SLF4J 定义了一组通用的日志接口和绑定机制,使得应用代码只需要通过 SLF4J 接口进行日志记录,而无需关心底层日志框架的具体实现。
            log4j 是一种流行的 Java 日志框架,能够帮助我们对应用程序的运行状态进行全面的监控和记录。slf4j-log4j12
            则是针对 log4j 1.2.x 版本的 SLF4J 适配器,可以让我们在应用程序中通过 SLF4J 接口进行日志记录,并将日志输出到 log4j 日志框架中。-->
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.7</version>
        </dependency>
    </dependencies>
       <build>
        <plugins>
            <plugin>
    <!--Maven 编译器插件的配置,其作用是指定 Maven 编译器使用的 Java 源代码版本和目标字节码版本。
    具体来说,<source> 元素指定了编译器应该使用的源代码版本,而 <target> 元素指定了编译器应该生成的目标字节码版本。
    <source> 和 <target> 同时被设置为 1.8,表示使用 Java 1.8 版本的语言特性进行源代码编写,并且将编译后的字节码文件设置为兼容 Java 1.8 运行环境。-->
                <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 + MP。

注意事项有3个:

1、要加入spring的依赖,不然报错(我使用mybatis-plus的时候需要依赖spring的类)。 

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.2.20.RELEASE</version>
        </dependency>

 2、mybatis核心加载mapper.xml映射文件接口(即不需要映射文件)都行。

注意:下面的选一个就行(要么加载映射文件,要么加载接口)    
    <mappers>
        <mapper resource="UserMapper.xml"/>
        <mapper class="mybatis_and_mp.mapper.UserMapper"/>
    </mappers>

3、解决了驼峰命名问题。

数据表是user_name,而查询写的是userName, 然后也查询成功了。

实体User中属性userName采用驼峰,对应数据库中的字段会是user_name

(4)快速开始_Spring + Mybatis + MP。

 

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。