springboot整合mybatis

参考文档:Mybatis代码生成器Mybatis-Generator使用及配置详解

pom文件依赖的jar包

<dependency>
          <groupId>org.mybatis.generator</groupId>
          <artifactId>mybatis-generator-core</artifactId>
          <version>1.4.0</version>
      </dependency>
      <!--缺少此jar包,导致@Mapper注解无效-->
      <dependency>
          <groupId>org.mybatis.spring.boot</groupId>
          <artifactId>mybatis-spring-boot-starter</artifactId>
          <!--版本1.2.0否则无效-->
          <version>1.2.0</version>
      </dependency>
       <dependency>
          <groupId>mysql</groupId>
          <artifactId>mysql-connector-java</artifactId>
          <version>8.0.33</version>
      </dependency>

pom文件里的maven插件(里面配置了mybatis-generator-config.xml的路径,到时候mybatis根据这个配置文件去生成)

 <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.7</version>
                <configuration>
                    <!--mybatis的代码生成器的配置文件-->
                    <configurationFile>src/main/resources/mybatis-generator-config.xml</configurationFile>
                    <overwrite>true</overwrite>
                    <verbose>true</verbose>
                </configuration>
                <dependencies>
                    <!-- mysql的JDBC驱动 -->
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>8.0.19</version>
                    </dependency>
                    <dependency>
                        <groupId>org.mybatis.generator</groupId>
                        <artifactId>mybatis-generator-core</artifactId>
                        <version>1.4.0</version>
                    </dependency>
                </dependencies>
            </plugin>

mybatis-generator-config.xml文件如下,修改数据库的地址,用户名密码和javaModelGenerator和javaClientGenerator的路径

<?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>
    <context id="myContext" targetRuntime="MyBatis3">

        <property name="javaFileEncoding" value="UTF-8"/>

        <!-- 生成的pojo,将implements Serializable -->
        <plugin type="org.mybatis.generator.plugins.SerializablePlugin"/>
        <!-- 为生成的pojo创建一个toString方法 -->
        <plugin type="org.mybatis.generator.plugins.ToStringPlugin"/>
        <!-- 生成的pojo,增加了equals 和 hashCode方法-->
        <plugin type="org.mybatis.generator.plugins.EqualsHashCodePlugin"/>
        <!--生成mapper.xml时覆盖原文件-->
        <plugin type="org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin"/>

        <!-- 自定义注释 -->
        <commentGenerator>
            <!-- 是否去除自动生成的注释 true:是 : false:否 -->
            <property name="suppressAllComments" value="true"/>
            <property name="suppressDate" value="false"/>
            <!--添加 db 表中字段的注释-->
            <property name="addRemarkComments" value="true"/>
        </commentGenerator>

       
        <!--数据库连接信息:驱动类、链接地址、用户名、密码 -->
        <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/Stu?useSSL=true&amp;useUnicode=true&amp;characterEncoding=utf8&amp;serverTimezone=Asia/Shanghai"
                        userId="root"
                        password="XXXX">
            <!--高版本的 mysql-connector-java 需要设置 nullCatalogMeansCurrent=true-->
            <!--解决mysql驱动升级到8.0后不生成指定数据库代码的问题-->
            <property name="nullCatalogMeansCurrent" value="true"/>
        </jdbcConnection>


        <javaTypeResolver>
            <!--类型解析器-->
            <!-- 默认false,把jdbc decimal 和 numeric 类型解析为integer -->
            <!-- true,把jdbc decimal 和 numeric 类型解析为java.math.bigdecimal-->
            <property name="forceBigDecimals" value="false"/>
            
            <property name="useJSR310Types" value="false"/>
        </javaTypeResolver>

        <!-- java实体类路径 -->
        <javaModelGenerator targetPackage="com.jarctique.jmeterredis.pojo" targetProject="src/main/java">
            <!-- 是否让schema作为包后缀 默认是false
                会在 po 目录下在创建一个 “数据库名” 的文件夹,生成的 po 会放在该文件夹下,也就是说会多一层目录
            -->
            <property name="enableSubPackages" value="false"/>
            <!-- 从数据库返回的值被清理前后的空格-->
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>

        <!-- 生成映射文件xml的包名和位置-->
        <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources">
            <!-- 是否让schema作为包后缀-->
            <property name="enableSubPackages" value="false"/>
        </sqlMapGenerator>

        <javaClientGenerator type="XMLMAPPER" targetPackage="com.jarctique.jmeterredis.mapper"
                             targetProject="src/main/java">
            <!-- 是否让schema作为包后缀-->
            <property name="enableSubPackages" value="false"/>
        </javaClientGenerator>


        <table tableName="%"
               enableCountByExample="false" enableUpdateByExample="false"
               enableDeleteByExample="false" enableSelectByExample="false"
               selectByExampleQueryId="false">
            <domainObjectRenamingRule searchString="^T" replaceString=""/>
        </table>

    </context>
</generatorConfiguration>

application.yml文件配置(数据库地址,用户名密码修改成自己的,pojo路径也要改)

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/Stu?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
    username: root
    password: XXXX
mybatis:
  mapper-locations: classpath:mapper/*.xml
  #目的是为了省略resultType里的代码量
  type-aliases-package: com.jarctique.jmeterredis.pojo

数据库的表
在这里插入图片描述

双击生成对应的pojo和mapper
在这里插入图片描述

在这里插入图片描述
springboot启动类增加注解,添加mapper扫描的路径
@MapperScan({“com.jarctique.jmeterredis.mapper”})

mport org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.mybatis.spring.annotation.MapperScan;

@MapperScan({"com.jarctique.jmeterredis.mapper"})
@SpringBootApplication
public class JmeterredisApplication {

    public static void main(String[] args) {
        SpringApplication.run(JmeterredisApplication.class, args);

    }
  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值