项目花园范德彪 2023-08-19 08:23 采纳率: 87.5%
浏览 11
已结题

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呢?

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-08-19 10:12
    关注

    【以下回答由 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。



    【相关推荐】



    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月27日
  • 已采纳回答 8月19日
  • 创建了问题 8月19日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度