自动生成类,接口,mapper.xml文件

本文详细介绍了如何在Maven项目中利用MyBatis Generator进行逆向工程,包括配置pom.xml添加依赖和插件,设置generatorConfig.xml生成实体类、SQL mapper文件及DAO接口,实现数据库表到代码的自动化映射。

pom.xml添加依赖

 <!--  mybatis逆向工程jar包 -->
        <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-core</artifactId>
            <version>1.3.2</version>
        </dependency>

pom.xml添加插件
两种方式
一,ssm框架

   <build>
    <finalName>sixmanwork</finalName>
    <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
      <plugins>
        <plugin>
          <groupId>org.mybatis.generator</groupId>
          <artifactId>mybatis-generator-maven-plugin</artifactId>
          <version>1.3.5</version>
          <configuration>
            <!--配置文件的路径-->
            <configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
            <overwrite>true</overwrite>
          </configuration>
          <dependencies>
            <dependency>
              <groupId>org.mybatis.generator</groupId>
              <artifactId>mybatis-generator-core</artifactId>
              <version>1.3.5</version>
            </dependency>
          </dependencies>
        </plugin>

      </plugins>
    </pluginManagement>
  </build>

 <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <!-- mybatis generator 自动生成代码插件 -->
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.2</version>
                <configuration>
                    <configurationFile>${basedir}/src/main/resources/generatorConfig.xml</configurationFile>
                    <overwrite>true</overwrite>
                    <verbose>true</verbose>
                </configuration>
            </plugin>

        </plugins>
    </build>

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>
    <classPathEntry
            location="C:\Users\fdk\Desktop\java工具包\mysql-connector-java-5.1.41-bin.jar"/>
    <context id="a1" targetRuntime="Mybatis3">

        <!--去除注释 -->
        <commentGenerator>
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>
        <!--数据库连接 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/xueyuan"
                        userId="root"
                        password="123">
        </jdbcConnection>

        <!--生成实体类 指定包名 以及生成的地址 (可以自定义地址,但是路径不存在不会自动创建
        使用Maven生成在target目录下,会自动创建) -->
        <javaModelGenerator targetPackage="com.bean"
                            targetProject="E:\daima\ideaworkspace\demo10156\src\main\java">
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>


        <!--生成SQLmapper文件 -->
        <sqlMapGenerator targetPackage="mapper"
                         targetProject="E:\daima\ideaworkspace\demo10156\src\main\resources">
        </sqlMapGenerator>
        <!--生成Dao文件,生成接口 -->
        <javaClientGenerator type="XMLMAPPER"
                             targetPackage="com.dao"
                             targetProject="E:\daima\ideaworkspace\demo10156\src\main\java">
        </javaClientGenerator>


        <table tableName="books" enableCountByExample="false"
               enableUpdateByExample="false" enableDeleteByExample="false"
               enableSelectByExample="false" selectByExampleQueryId="false">
        </table>
      
    </context>
</generatorConfiguration>

配置maven

在这里插入图片描述

在这里插入图片描述

mybatis-generator:generate -e

在这里插入图片描述

在这里插入图片描述

引用内容未提及Ruoyi框架自动生成实体mapper接口mapper.xml的方法,下面介绍通常在Ruoyi框架中实现自动生成的一般方式: ### 启用代码生成功能 Ruoyi框架一般自带代码生成模块,需确保该模块已正确配置和启用。通常要在项目中找到代码生成相关的菜单或功能入口,这可能在系统管理或开发工具相关的菜单中。 ### 配置数据库连接 要让框架能从数据库表中获取信息来生成代码,需准确配置数据库连接信息。在项目的配置文件(如`application.yml`或`application.properties`)里,配置数据库的URL、用户名、密码等。示例如下: ```yaml spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/your_database_name username: your_username password: your_password ``` ### 选择要生成代码的表 进入代码生成模块后,选择要根据其生成实体mapper接口mapper.xml的数据库表。可以单选或多选表。 ### 配置生成参数 在生成代码前,可配置一些生成参数,如包名、模块名、实体接口的命名规则等。这些参数会影响生成代码的结构和命名。 ### 执行代码生成 完成表选择和参数配置后,点击生成按钮,Ruoyi框架会依据所选表的结构自动生成对应的实体mapper接口mapper.xml文件,并将其放置在项目的相应目录下。 ### 注意事项 - 生成的mapper.xml文件中,namespace要写成mapper接口的全限定名,如`<mapper namespace="com.ruoyi.project.system.mapper.SysUserMapper">` [^1]。 - 若基于Ruoyi二开添加新模块,要注意controller层、mapper接口mapper.xml的扫描配置。可在`ApplicationConfig`配置上添加`@MapperScan`注解指定要扫描的Mapper的包的路径,如`@MapperScan({"com.ruoyi..mapper","com.zmy..mapper"})` [^2]。 ### 示例代码 生成的实体示例: ```java package com.ruoyi.project.system.domain; import java.util.Date; public class SysUser { private Long userId; private String userName; private String password; private Date createTime; // Getters and Setters public Long getUserId() { return userId; } public void setUserId(Long userId) { this.userId = userId; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } } ``` 生成的mapper接口示例: ```java package com.ruoyi.project.system.mapper; import com.ruoyi.project.system.domain.SysUser; import java.util.List; public interface SysUserMapper { List<SysUser> selectUserList(SysUser user); SysUser selectUserById(Long userId); int insertUser(SysUser user); int updateUser(SysUser user); int deleteUserById(Long userId); } ``` 生成的mapper.xml示例: ```xml <mapper namespace="com.ruoyi.project.system.mapper.SysUserMapper"> <select id="selectUserList" resultType="com.ruoyi.project.system.domain.SysUser"> SELECT * FROM sys_user WHERE 1 = 1 <if test="userName != null and userName != ''"> AND user_name LIKE CONCAT('%', #{userName}, '%') </if> </select> <select id="selectUserById" resultType="com.ruoyi.project.system.domain.SysUser"> SELECT * FROM sys_user WHERE user_id = #{userId} </select> <insert id="insertUser"> INSERT INTO sys_user (user_name, password, create_time) VALUES (#{userName}, #{password}, #{createTime}) </insert> <update id="updateUser"> UPDATE sys_user SET user_name = #{userName}, password = #{password}, create_time = #{createTime} WHERE user_id = #{userId} </update> <delete id="deleteUserById"> DELETE FROM sys_user WHERE user_id = #{userId} </delete> </mapper> ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值