用IDEA创建一个Mybatis项目,自动生成映射文件

如何用IDEA创建一个mybatis项目框架,用mybatis插件自动生成核心配置文件、mapper映射文件、实体类和接口。


1、首先打开IDEA,选择新建项目,如下选择maven-quickstart,只需要提供maven管理包,所以选择quickstart即可。

2、在pom.xml导入依赖包和导入第三方插件mybatis.generator

<dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.5.2</version>
    </dependency>
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.15</version>
    </dependency>

  <plugin>
      <groupId>org.mybatis.generator</groupId>
      <artifactId>mybatis-generator-maven-plugin</artifactId>
      <version>1.3.7</version>
      <configuration>
        <verbose>true</verbose>
        <overwrite>true</overwrite>
      </configuration>
    </plugin>

3、 创建资源包,用于链接数据库(也可以不用,直接在配置文件中写,规范起见创建资源包)放于resources资源文件夹下。

resources/db.properties

内容如下:

jdbc.driverLocation=C:\\Users\\DELL\\.m2\\repository\\mysql\\mysql-connector-java\\8.0.15\\mysql-connector-java-8.0.15.jar
jdbc.driverClass=com.mysql.cj.jdbc.Driver
jdbc.connectionURL=jdbc:mysql://localhost:3306/liuyan?characterEncoding=UTF-8&serverTimezone=UTC
jdbc.userId=user
jdbc.password=***

这里需要注意,第三行url中的/3306后面要改成自己数据库的schema,

第一行driverlocation要根据自己的电脑修改,一般是改Users后面的名称。

4、在资源目录resources下,创建生成器generator的配置文件generatorConfig.xml(名字不能错),用于自动生成mybatis配置文件、DAO接口等。

代码如下,各项标签作用都有备注,一般不用大的改动,需要改动的地方在最后<table>标签,用于指明需要导入的表和对应的实体类名。

<?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>
    <!--导入属性配置-->
    <properties resource="db.properties"></properties>
    <!--指定特定数据库的jdbc驱动jar包的位置-->
    <classPathEntry location="${jdbc.driverLocation}"/>
    <!--classPathEntry  location="/Users/apple/.m2/repository/mysql/mysql-connector-java/8.0.15/mysql-connector-java-8.0.15.jar"/ -->

    <context id="default" targetRuntime="MyBatis3">
        <!-- optional,旨在创建class时,对注释进行控制 -->
        <!--suppressDate是去掉生成日期那行注释,suppressAllComments是去掉所有的注解;另外,commentGenerator还可以配置一个type,设置自己的注解生成器,默认使用的是org.mybatis.generator.internal.DefaultCommentGenerator;-->
        <commentGenerator>
            <property name="suppressDate" value="true"/>
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>

        <!--jdbc的数据库连接 -->
        <jdbcConnection
                driverClass="${jdbc.driverClass}"
                connectionURL="${jdbc.connectionURL}"
                userId="${jdbc.userId}"
                password="${jdbc.password}">
        </jdbcConnection>

        <!-- Model模型生成器,用来生成含有主键key的类,记录类以及查询Example类,属性targetPackage 指定生成的model生成所在的包名
             属性targetProject 指定在该工程下包所在的路径-->
        <javaModelGenerator targetPackage="com.dhu.pojo"
                            targetProject="src/main/java">
            <!-- 是否允许子包,即targetPackage.schemaName.tableName -->
            <property name="enableSubPackages" value="false"/>
            <!-- 是否对model添加 构造函数 -->
            <property name="constructorBased" value="true"/>
            <!-- 是否对类CHAR类型的列的数据进行trim操作 -->
            <property name="trimStrings" value="true"/>
            <!-- 建立的Model对象是否 不可改变,即生成的Model对象是否不会有 setter方法,只有构造方法 -->
            <property name="immutable" value="false"/>
        </javaModelGenerator>

        <!--Mapper映射文件生成所在的目录 为每一个数据库的表生成对应的SqlMap文件 -->
        <sqlMapGenerator targetPackage="main.resources.mapper"
                         targetProject="src">
            <property name="enableSubPackages" value="false"/>
        </sqlMapGenerator>


        <javaClientGenerator targetPackage="com.dao"
                             targetProject="src/main/java"    type="XMLMAPPER">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>

        <!--tableName:指定了表名 domainObjectName:指定了实体类的名称 -->
        <table tableName="usertable" domainObjectName="User"
               enableCountByExample="false"
               enableUpdateByExample="false"
               enableDeleteByExample="false"
               enableSelectByExample="false"
               selectByExampleQueryId="false">
        </table>
    </context>
</generatorConfiguration>

5、 接下来就是运行插件了,IDEA中配置一个“Run”,使用maven运行mybatis-generator-maven-plugin插件。创建步骤如下:


 


 

 命令:mybatis-generator:generate -e

其他不用改,输入命令行确认即可。


RUN运行

 运行完成后的目录如下:

 

到此已经完成了自动生成功能,已经完成了mapper接口、Entity实体类、mapper映射文件的生成。

如果还想用于生成其他表的映射,在generatorConfig.xml中修改<table>内容,再次RUN运行即可。

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,以下是使用 IDEA 创建 SpringMVC 和 MyBatis 生成生成项目实例的步骤: 1. 在 IDEA创建一个新的 Maven 项目。选择 File -> New -> Project,在左侧面板中选择 Maven,然后点击 Next。 2. 在下一个界面中输入 GroupId、ArtifactId 和 Version。例如,可以输入 com.example、mybatis-generator-demo 和 1.0-SNAPSHOT。然后点击 Next。 3. 在下一个界面中输入项目的名称和位置。然后点击 Next。 4. 在下一个界面中选择需要添加的依赖。这里需要添加 SpringMVC 和 MyBatis 相关的依赖。在 Dependencies 选项卡中添加以下依赖: ``` <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.3.14</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.7</version> </dependency> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.4.0</version> </dependency> ``` 5. 点击 Finish 完成项目创建。 6. 在项目的 src/main/java 目录下创建一个名为 com.example.demo 的包。在该包下创建一个名为 Application 的类,并添加 @SpringBootApplication 注解。这个类将作为项目的入口。 ```java package com.example.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } ``` 7. 在 src/main/resources 目录下创建一个名为 application.properties 的文件,并添加以下内容: ``` spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai spring.datasource.username=root spring.datasource.password=123456 mybatis.mapper-locations=classpath:mapper/*.xml ``` 这里假设数据库名为 demo,数据库用户名为 root,密码为 123456。同时也设置了 MyBatis 的 Mapper 文件所在的位置。 8. 在 src/main/java 目录下创建一个名为 com.example.demo.entity 的包。在该包下创建一个名为 User 的类,该类将映射数据库中的 user 表。 ```java package com.example.demo.entity; public class User { private Long id; private String name; private Integer age; private String gender; // Getter and Setter methods } ``` 9. 在 src/main/java 目录下创建一个名为 com.example.demo.mapper 的包。在该包下创建一个名为 UserMapper 的接口,该接口将定义对 user 表的数据库操作。 ```java package com.example.demo.mapper; import com.example.demo.entity.User; import java.util.List; public interface UserMapper { int insert(User user); int update(User user); int deleteById(Long id); User selectById(Long id); List<User> selectAll(); } ``` 10. 在 src/main/resources 目录下创建一个名为 generatorConfig.xml 的文件。该文件
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值