Java SpringBoot 整合Mybatis 生成mapper 和 pojo

114 阅读1分钟
  • MyBatis是什么?

image.png

  • 引用Mybatis

pom.xml 中

<!--整合MyBatis-->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.1.0</version>
</dependency>


<!--        通用Mapper工具-->
<dependency>
    <groupId>tk.mybatis</groupId>
    <artifactId>mapper-spring-boot-starter</artifactId>
    <version>2.1.5</version>
</dependency>


<!--          PageHelper 分页助手类  分页器-->
            <dependency>
                <groupId>com.github.pagehelper</groupId>
                <artifactId>pagehelper-spring-boot-starter</artifactId>
                <version>1.2.12</version>
            </dependency>

  • application.yml 中配置 MyBatis

#MyBatis 相关配置
mybatis:
  type-aliases-package: org.example.pojo  #所有数据库表逆向后所--映射的实体类 Entity/Bean/POJO
  mapper-locations: classpath:mapper/*.xml #所有mapper映射的文件所在的目录
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #开启MyBatis的日志实现,可以在控制台打印
    

#通用mapper配置
mapper:
  mappers: org.example.my.mapper.MyMapper #所有Mapper都需要实现的接口
  not-empty: false #在进行数据库操作的时候,判断一个属性是否为空的时候,是否需要自动追加
                   # username != null 后面不需要 username != ''
  identity: MYSQL

#分页插件助手的配置
pagehelper:
  auto-dialect: mysql
  support-methods-arguments: true

  • 使用mybatis 逆向工具生成mapper 和 pojo

mybatis-generator -for -imooc

  • 将mybatis-generator-for-imooc 引入库中

<modules>
    <module>book-common</module>
    <module>book-model</module>
    <module>book-mapper</module>
    <module>book-service</module>
    <module>book-api</module>
    <module>mybatis-generator-for-imooc</module>
</modules>
  • 配置 generatorConfig.xml


<?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="MysqlContext" targetRuntime="MyBatis3Simple" defaultModelType="flat">
        <property name="beginningDelimiter" value="`"/>
        <property name="endingDelimiter" value="`"/>

        <!-- 通用mapper所在目录 -->
        <plugin type="tk.mybatis.mapper.generator.MapperPlugin">
            <property name="mappers" value="com.imooc.my.mapper.mapper.MyMapper"/>
        </plugin>

        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/imooc-red-book-dev"
                        userId="root"
                        password="root">
        </jdbcConnection>

        <!-- 对应生成的pojo所在包 -->
        <javaModelGenerator targetPackage="com.imooc.pojo" targetProject="mybatis-generator-for-imooc/src/main/java"/>

       <!-- 对应生成的mapper所在目录 -->
        <sqlMapGenerator targetPackage="mapper" targetProject="mybatis-generator-for-imooc/src/main/resources"/>

       <!-- 配置mapper对应的java映射 -->
        <javaClientGenerator targetPackage="com.imooc.mapper" targetProject="mybatis-generator-for-imooc/src/main/java" type="XMLMAPPER"/>

        <!-- 数据库表 -->
       <table tableName="comment"></table>
        <table tableName="fans"></table>
        <table tableName="my_liked_vlog"></table>
        <table tableName="users"></table>
        <table tableName="vlog"></table>


    </context>
</generatorConfiguration>
  • GeneratorDisplay run

  • 将生成的 pojo,mappper 拷贝到项目对应的文件中

image.png

image.png