本篇文章比较适合初学mybatis的同学,没有登陆页面,没有使用自动生成代码的插件,大家可以手动自己创建对应的文件,体会一下代码的执行流程,整个项目结构比较简单,具体代码以后会上传到github上,以后会一直更新项目,整合各种框架并总结一些技术的使用方法。大神勿喷,欢迎大家来讨论和纠错。

网盘地址:链接:https://pan.baidu.com/s/1xxJhC4pVzkeVFNz-ILb_LQ  提取码:f2d9

主要内容如下:

1. springboot对mybatis进行的整合。

2. 总结了一些常用的增删改查的写法。

3. 总结了分页查询的写法。

4. 存储过程的调用。

环境:

jdk1.8

maven-3.6.1

mysql-8.0.16(5.6以上版本应该都没问题)

IDEA.

话不多说,直接上干货!!

一、Springboot项目的创建

打开开发工具,点击file--new--project--spring Initializr--next--修改group、Artifact--next--勾选上Lombok、Spring Web、JDBC API、MyBatis Framework、MySQL Driver--输入Project name--Finish.

SpringBoot的整合(三、整合mybatis)

SpringBoot的整合(三、整合mybatis)

这里勾选上一些我们需要生成的依赖,不勾选也可以,可以在生成项目的pom.xml文件中自行添加。

SpringBoot的整合(三、整合mybatis)

这里输入项目的名称

SpringBoot的整合(三、整合mybatis)

创建之后的工程目录大概是这样

SpringBoot的整合(三、整合mybatis)

二、对项目进行改造

首先,点开file--settings配置窗口,搜索maven,修改右侧的User settings file和Local repository地址(会随着User settings file的变化自动变化),这个地址我填写的是本地仓库的地址,默认是c盘下,建议修改。之后重新引入依赖。

SpringBoot的整合(三、整合mybatis)

这个框每次修改pom.xml文件里的内容就会自动弹出。这个过程会稍微慢一些。

SpringBoot的整合(三、整合mybatis)

之后继续在settings配置窗口里找到Plugins(插件),搜索Lombok插件并下载,下载完成后,需要重启Idea工具,才会生效。这个插件配合着我们刚才在pom.xml文件中的lombok依赖,在我们的实体类上写上@Data注解,就可以省略setter、getter、toString方法了。

SpringBoot的整合(三、整合mybatis)

之后修改一下pom.xml文件的内容,可以根据自己的编程习惯添加,由于版本的不同,可能生成的文件中里面的内容有出入,如果不成功,可以复制我的,具体代码会贴在文章最下面。这里我采用了alibaba的druid数据库连接池和pagehelper分页。这里还要注意一下,自动生成的parent标签中的version版本过高,有可能会报错,可以手动调低一些,这里我使用的是2.0.1。具体以我下面的代码为主,我会在里面添加一些其它的依赖用于开发。

SpringBoot的整合(三、整合mybatis)

之后修改application.properties文件,改为application.yml格式,不修改也是可以,看个人习惯。要注意修改里面的mysql连接的账号和密码、数据库名称并确认本地的mysql服务开启。这里还要注意一点,我们在开发的时候,是希望将执行的sql打印出来的,这个只需要在application.yml文件中配置一下就可以了。

SpringBoot的整合(三、整合mybatis)

SpringBoot的整合(三、整合mybatis)

之后检查一下目录中自动生成的测试用的test文件夹下的TmApplicationTests文件,这里我的由于缺少包,所以我重新引用了org.junit.Test下的。其实如果在开发中不经常使用test进行测试开发的话,可以直接删除或者屏蔽掉这里报错的代码。

SpringBoot的整合(三、整合mybatis)

之后我们开始完善目录,在目录里创建对应开发需要的一些层级文件。里面的内容我会放在下面,参考如下:

SpringBoot的整合(三、整合mybatis)

之后我们打开springboot项目的入口(main方法所在类),我的是TmApplication,名称不固定,跟创建的时候自己起的名字有关。在里面我们加上@MapperScan("com.flyinghome.tm.dao")注解。

SpringBoot的整合(三、整合mybatis)

三、项目的主要代码

(1)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.0.1.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <groupId>com.flyinghome</groupId>
    <artifactId>tm</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>tm</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

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

        <!--mybatis-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.2</version>
        </dependency>

        <!--mysql-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.jupiter</groupId>
                    <artifactId>junit-jupiter-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <!-- alibaba的druid数据库连接池 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.9</version>
        </dependency>

        <!--lombok:引用了之后,实体类就不需要写getter、setter、toString方法了-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.6</version>
        </dependency>
        <!--pagehelper分页-->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.2.5</version>
        </dependency>


    </dependencies>

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

</project>
View Code

相关文章:

  • 2020-03-24
  • 2020-04-16
  • 2018-05-05
  • 2021-08-01
  • 2022-01-26
  • 2021-05-19
猜你喜欢
  • 2022-12-23
  • 2021-06-25
  • 2021-12-18
  • 2021-10-31
  • 2021-05-13
  • 2021-10-09
  • 2021-04-20
相关资源
相似解决方案