mybatis逆向生成SQL的问题

mybatis 的XML文件。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.SpringBoot.dao.ApplianceImp">

    <select id="findAll" resultType="com.SpringBoot.bean.Appliance">
        select * from bus_appliance
        <where>
            <if test="name != null">
                and name like '%${name}%'
            </if>
            <if test="available != null">
                and available like '%${available}%'
            </if>
        </where>
    </select>
。。


没有resultMap,怎么逆向生SQL呢?

【以下回答由 GPT 生成】

对于没有resultMap的情况下逆向生成SQL,可以使用MyBatis的逆向工程插件来实现。下面是具体的步骤:

  1. 引入MyBatis逆向工程插件。在项目的pom.xml中添加以下插件依赖:
<plugin>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-maven-plugin</artifactId>
    <version>1.4.0</version>
    <configuration>
        <configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
        <verbose>true</verbose>
        <overwrite>true</overwrite>
    </configuration>
    <dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.21</version>
        </dependency>
    </dependencies>
</plugin>
  1. 创建generatorConfig.xml文件。在项目的resources目录下创建generatorConfig.xml文件,并配置相应的数据库连接信息和要逆向生成SQL的表信息。以下是一个示例的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="DB2Tables" targetRuntime="MyBatis3">
        <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/mydatabase"
                        userId="myuser"
                        password="mypassword">
        </jdbcConnection>

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

        <!-- 设置是否生成注释 -->
        <commentGenerator>
            <property name="suppressAllComments" value="true" />
        </commentGenerator>

        <!-- 设置生成的 Java 文件的编码 -->
        <javaModelGenerator targetPackage="com.SpringBoot.bean" targetProject="src/main/java">
            <property name="enableSubPackages" value="true" />
            <property name="trimStrings" value="true" />
        </javaModelGenerator>

        <!-- 设置生成的 SQL Map 文件的位置、名称以及格式 -->
        <sqlMapGenerator targetPackage="com.SpringBoot.dao" targetProject="src/main/resources">
            <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>

        <!-- 设置生成的 Mapper 文件的位置、名称以及格式 -->
        <javaClientGenerator targetPackage="com.SpringBoot.dao" targetProject="src/main/java" type="XMLMAPPER">
            <property name="enableSubPackages" value="true" />
        </javaClientGenerator>

        <!-- 指定需要逆向生成 SQL 的表 -->
        <table tableName="bus_appliance"></table>

        <!-- 如果有多个表,继续添加 <table tableName="your_table_name"></table> -->
    </context>
</generatorConfiguration>

在上面的示例中,需要替换数据库连接信息、表名和包名等。

  1. 运行逆向工程插件。在命令行或IDE的Maven插件中运行以下命令:
mvn mybatis-generator:generate

该命令会根据generatorConfig.xml配置文件进行逆向工程,生成相应的Java实体类、Mapper接口和SQL Map文件。

  1. 检查生成的SQL。在target目录下的generated-sources目录中,可以找到生成的代码。检查生成的XML文件,确认生成的SQL满足需求。

通过以上步骤,就可以在没有resultMap的情况下逆向生成SQL。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^