欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Spring Boot整合MyBatis,自动生成DAO

程序员文章站 2022-03-11 16:49:19
MyBatis介绍MyBatis是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。在Spring Bo......

MyBatis介绍

MyBatis是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 JavaPOJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

Spring Boot项目中,可以直接使用相关的配置文件,生成POJOs等信息,下面我们将详细介绍,使用VS Code环境对其进行实现。如果对这个环境不熟悉,可以参考我之前的配置环境文档MAC/Windows下使用VS Code完美配置maven+springBoot环境

1.使用MySQL建立数据表

MySQL的安装与配置,这里不进行详细的介绍,我们先使用一个简单的数据表进行处理:
Spring Boot整合MyBatis,自动生成DAO

2. 文件配置

  • 首先,在项目中建立几个文件目录:
    Spring Boot整合MyBatis,自动生成DAO
  • 然后,我们在项目的POM.XML文件的build标签中,增加如下内容:
<plugins>
			<plugin>  
                <groupId>org.mybatis.generator</groupId>  
                <artifactId>mybatis-generator-maven-plugin</artifactId>  
                <version>1.3.5</version>  
                <dependencies>  
                    <dependency>  
                        <groupId> mysql</groupId>  
                        <artifactId> mysql-connector-java</artifactId>  
                        <version> 5.1.39</version>  
                    </dependency>  
                    <dependency>  
                        <groupId>org.mybatis.generator</groupId>  
                        <artifactId>mybatis-generator-core</artifactId>  
                        <version>1.3.5</version>  
                    </dependency>  
                </dependencies>  
                <executions>  
                    <execution>  
                        <id>Generate MyBatis Artifacts</id>  
                        <phase>package</phase>  
                        <goals>  
                            <goal>generate</goal>  
                        </goals>  
                    </execution>  
                </executions>  
                <configuration>  
                    <!--允许移动生成的文件 -->  
                    <verbose>true</verbose>  
                    <!-- 是否覆盖 -->  
                    <overwrite>true</overwrite>  
                    <!-- 自动生成的配置 -->  
                    <configurationFile>  
                        src/main/resources/mybatis-generator.xml</configurationFile>  
                </configuration>  
            </plugin>

从以上文件我们可以看到,对应的configurationFile的位置,所以接下来,我们将在resources中建立mybatis-generator.xml
mybatis-generator.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="DB2Tables" targetRuntime="MyBatis3">  
        <commentGenerator>  
            <property name="suppressDate" value="true"/>  
            <property name="suppressAllComments" value="true"/>  
        </commentGenerator>  
        <!--数据库链接地址账号密码-->  
        <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1:3306/booksMgr" userId="root" password="123">  
        </jdbcConnection>  
        <javaTypeResolver>  
            <property name="forceBigDecimals" value="false"/>  
        </javaTypeResolver>  
        <!--生成Model类存放位置-->  
        <javaModelGenerator targetPackage="com.example.demo.model" targetProject="src/main/java">  
            <property name="enableSubPackages" value="true"/>  
            <property name="trimStrings" value="true"/>  
        </javaModelGenerator>  
        <!--生成映射文件存放位置-->  
        <sqlMapGenerator targetPackage="com.example.demo.mapper" targetProject="src/main/java">  
            <property name="enableSubPackages" value="true"/>  
        </sqlMapGenerator>  
        <!--生成Dao类存放位置-->  
        <!-- 客户端代码,生成易于使用的针对Model对象和XML配置文件 的代码  
                type="ANNOTATEDMAPPER",生成Java Model 和基于注解的Mapper对象  
                type="MIXEDMAPPER",生成基于注解的Java Model 和相应的Mapper对象  
                type="XMLMAPPER",生成SQLMap XML文件和独立的Mapper接口  
        -->  
        <javaClientGenerator type="ANNOTATEDMAPPER" targetPackage="com.example.demo.dao" targetProject="src/main/java">  
            <property name="enableSubPackages" value="true"/>  
        </javaClientGenerator>  
        <!--生成对应表及类名-->  
        <table tableName="books" domainObjectName="Books" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table> 
    </context>  
</generatorConfiguration>

对应的注释以及相关的内容写的很清楚。

然后我们使用命令:mvn mybatis-generator:generate,即可以生成相应的文件。
/dao
----/BooksMapper.java
----/BooksSqlProvider.java
/model
----/Books.java

本文地址:https://blog.csdn.net/wgh295360998/article/details/85891556