Spring boot整合Mybatis-plus +自定义SQL语句——快速入门(入坑)

参考mybatis-plus官网:链接

最近实习期间在看公司的项目的代码,遇到许多之前自己没接触带的技术,比如今天所讲的Mybatis-plus。一开始我看到相关代码时一头雾水,之后请教公司的前辈才知道这是什么技术。

通过自己学习后,对mybatis-plus有那么一丢丢的理解,哈哈~,接下来有什么说的不对的地方还请大家多多指教!

Mybatis-plus框架结构

Spring boot整合Mybatis-plus +自定义SQL语句——快速入门(入坑)_第1张图片
我的文件目录:
Spring boot整合Mybatis-plus +自定义SQL语句——快速入门(入坑)_第2张图片
提示:我在这里用到了lombok插件,没有的可以在idea装一下

一、首先新建一个springboot,maven项目,向pom.xml导入依赖

<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.1.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>demo</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <!--<scope>test</scope>-->
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.16.22</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>javax.persistence</groupId>
            <artifactId>persistence-api</artifactId>
            <version>1.0</version>
        </dependency>

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

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.25</version>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

在Application.yml配置数据库(没有的话自己新建)

mybatis-plus的案例使用的是h2数据库,我使用的是自己本地的数据库mysql

# DataSource Config
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/test
    username: root
    password: *****
    driver-class-name: com.mysql.jdbc.Driver

定义实体类

注意:数据库的字段名命名规则要按照阿里巴巴Java开发手册的要求
Spring boot整合Mybatis-plus +自定义SQL语句——快速入门(入坑)_第3张图片
Spring boot整合Mybatis-plus +自定义SQL语句——快速入门(入坑)_第4张图片

@Data
@Table(name = "user")
public class User implements Serializable {
     

    private String userId;

    private String userName;

    private String password;
}

编写Mapper类 UserMapper.java

public interface UserMapper extends BaseMapper<User> {
     
    List<User> getUserList();  //自定义的方法
}

新建一个UserMapper.xml,里面写getUserList对应sql,代码如下:



<mapper namespace="com.example.demo.mapper.UserMapper">

    <resultMap id="user" type="com.example.demo.entity.User"/>
    <parameterMap id="user" type="com.example.demo.entity.User"/>

    <select id="getUserList" resultMap="user">
        SELECT  user_name FROM USER    //自定义sql语句
    select>

mapper>

在 Spring Boot 启动类中添加 @MapperScan 注解,扫描 Mapper 文件夹:

@SpringBootApplication
@MapperScan("com.example.demo.mapper")
public class DemoApplication {
     
    public static void main(String[] args) {
     
        SpringApplication.run(DemoApplication.class, args);
    }

}

新建测试类

@RunWith(SpringRunner.class)
@SpringBootTest
public class test {
     
    @Autowired
    private UserMapper userMapper;

    @Test
    public void testSelect() {
     
        System.out.println(("----- selectAll method test ------"));
        List<User> userList = userMapper.selectList(null);
        List<User> userList1=userMapper.getUserList();
        userList1.forEach(System.out::println);
        
    }
}
使用Mapper自定义的selectList

Spring boot整合Mybatis-plus +自定义SQL语句——快速入门(入坑)_第5张图片
运行结果:
在这里插入图片描述

使用我们自定义的getUserList

运行结果:
在这里插入图片描述

一起学习,共同进步!

如果对你有帮助,那就点个赞吧!233

你可能感兴趣的:(学习笔记,java,mysql,mybatis,spring)