五分钟解决Springboot整合Mybaties

创建maven工程

·1.通过idea创建maven工程如下图
在这里插入图片描述
2.生成的工程如下
在这里插入图片描述
以上我们就完成了一个maven工程,接下来我们改造成springboot项目。
这里主要分为三步:添加依赖,增加配置,增加注解
1.添加依赖

<!--添加springboot父依赖-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.4</version>
    </parent>
    <dependencies>
        <!--web依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--test测试依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

2.添加配置文件application.yml,增加端口号
在这里插入图片描述
在这里插入图片描述

3.修改启动类.增加@SpringBootApplication注解
和修改主类SpringApplication.run(Main.class,args);如下

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Main {
    public static void main(String[] args) {
        SpringApplication.run(Main.class,args);
    }
}

通过以上三步,恭喜springboot项目搭建完成,运行看下效果
在这里插入图片描述

整合mybaties

springboot整合任何中间件都是三步:依赖,配置,注解
1.依赖:

		 <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.5</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.0.0</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-core</artifactId>
            <version>1.3.7</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.21</version>
        </dependency>

这里引入了三个依赖:第一个是springboot整合mybaties依赖,后面两个是逆向工程的相关依赖
2.配置增加如下配置到配置文件,根据需要修改用户名密码和数据库,并且注意mapper-locations: classpath:mappers/*.xml的mappers路径

	spring:
  datasource:
    url: jdbc:mysql://localhost:3306/course?useSSL=false&serverTimezone=GMT
    username: root
    password: 565
#指定mybatis映射文件的地址
mybatis:
  mapper-locations: classpath:mappers/*.xml

2.注解
@Mapper,这里先用这个注解,在所有Mapper下的文件都加上该注解如下
在这里插入图片描述

逆向代码生成

增加配置

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

<generatorConfiguration>
    <!-- mysql-connector-java 版本需要与pom中引得版本一致 -->
    <classPathEntry location="E:\repository\mysql\mysql-connector-java\8.0.21\mysql-connector-java-8.0.21.jar" />

    <context id="DB2Tables" targetRuntime="MyBatis3">

        <!-- 不加注释,因为默认注释是英文的 -->
        <commentGenerator>
            <property name="addRemarkComments" value="true"/>
            <property name="suppressDate" value="true"/>
        </commentGenerator>

        <!-- 数据库连接信息 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/course?characterEncoding=utf-8&amp;useSSL=false&amp;serverTimezone=UTC"
                        userId="root"
                        password="luyao520">
        </jdbcConnection>

        <javaTypeResolver >
            <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>

        <!-- targetPackage 文件生成在指定包下,targetProject 路径-->
        <javaModelGenerator targetPackage="edu.hbgy.rjz.entity" targetProject="src/main/java">
            <property name="enableSubPackages" value="true" />
            <property name="trimStrings" value="true" />
        </javaModelGenerator>

        <sqlMapGenerator targetPackage="mappers"  targetProject="src/main/resources">
            <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>

        <javaClientGenerator type="XMLMAPPER" targetPackage="edu.hbgy.rjz.dao"  targetProject="src/main/java">
            <property name="enableSubPackages" value="true" />
        </javaClientGenerator>

        <!-- domainObjectName 即生成后entity的名字 -->
        <table tableName = "order" domainObjectName="Order" />


    </context>
</generatorConfiguration>

<classPathEntry location="E:\repository\mysql\mysql-connector-java\8.0.21\mysql-connector-java-8.0.21.jar" />这个路径要写自己jar包的路径

2.引入插件
在pom.xml中加入

<build>
        <finalName>${artifactId}</finalName>
        <plugins>
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.7</version>
                <configuration>
                    <!-- generator 工具配置文件的位置 -->
                    <configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
                    <verbose>true</verbose>
                    <overwrite>true</overwrite>
                </configuration>


                <!-- 添加这部分的依赖 -->

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



    </build>

如下所示:
在这里插入图片描述
加入之后maven插件如下所示
在这里插入图片描述
运行之后会生成代码,目录结构:
在这里插入图片描述
再次启动项目确认启动成功:
在这里插入图片描述

至此我们的整合工作结束

测试一下,创建一个controller包,并创建类UserController

package edu.hbgy.rjz.controller;

import edu.hbgy.rjz.dao.UserMapper;
import edu.hbgy.rjz.entity.User;
import edu.hbgy.rjz.entity.UserExample;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import java.util.List;

@RestController
public class UserController {
    @Resource
    private UserMapper userMapper;

    @RequestMapping(value="user/del", method = RequestMethod.POST)
    public Integer del(@RequestBody User user){
        UserExample example = new UserExample();
        example.createCriteria().andIdEqualTo(user.getId());
        Integer count = userMapper.deleteByExample(example);
        return count;
    }
}

启动运行:
在这里插入图片描述

  • 29
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值