Mybatis自动生成mapper代码和xml映射文件

Mybatis自动生成mapper代码和xml映射文件

  • 前置条件
  • POM依赖
  • XML配置
  • 其他教程

前置条件

  • 场景:在maven的spring boot项目中,使用mybatis-generator自动生成mapper代码和xml映射文件
    • mybatis还支持其他场景,不过这里不细说了
  • 前置条件:配置好mybatis了,可以参考在springboot中使用mybatis

POM依赖

将以下放入到pom文件的标签下的里。

  • 中标注的是你的mybatis-generator.xml的位置,这个xml包含了mybatis-generator的基本配置信息。
  • 里面还放了mysql的jdbc,如果你用的是其他数据库,则要换成其他的。
  • 版本自选
	<plugin>
        <groupId>org.mybatis.generatorgroupId>
        <artifactId>mybatis-generator-maven-pluginartifactId>
        <version>1.3.7version>
        <configuration>
          
          <configurationFile>src/main/resources/mybatis-generator.xmlconfigurationFile>
          <verbose>trueverbose>
          <overwrite>trueoverwrite>
        configuration>
        <dependencies>
          <dependency>
            <groupId>mysqlgroupId>
            <artifactId>mysql-connector-javaartifactId>
            <version>8.0.26version>
          dependency>
        dependencies>
      plugin>

XML配置

在pom指定的位置上放一个xml文件,名字一般为mybatis-generator.xml(看你在pom中怎么指定的),文件内容如下:

  • 是用来指定jdbc所在目录的,由于之前我们在mybatis-generator中加上了mysql依赖,所以这个地方可以不需要配置。
  • 是用来连接数据库的,这里的127.0.0.1:3306是mysql服务器的ip+端口号,demoDB是mysql服务器中数据库名。
  • 三个标签分别是用来指定bean类、xml映射文件、mapper接口的属性的
    • targetPackage、targetProject分别是用来指定放置自动生成文件的包、工程目录的
  • 标签用来指定表名,必须要把主键列用写出来。
    • table标签可以有很多属性,比如enableSelectByExample,用来指定mapper接口文件中的方法。
    
    
    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="MySQLTables" targetRuntime="MyBatis3">
    
        <property name="javaFileEncoding" value="UTF-8"/>
        <property name="beginningDelimiter" value="`"/>
        <property name="endingDelimiter" value="`"/>
    
        
        <plugin type="org.mybatis.generator.plugins.RowBoundsPlugin"/>
        
        <plugin type="org.mybatis.generator.plugins.SerializablePlugin"/>
        
        <plugin type="org.mybatis.generator.plugins.EqualsHashCodePlugin"/>
        
        <plugin type="org.mybatis.generator.plugins.ToStringPlugin"/>
    
        
        <commentGenerator>
          <property name="suppressAllComments" value="true"/>
        commentGenerator>
    
        
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
          connectionURL="jdbc:mysql://127.0.0.1:3306/demoDB"
          userId="root"
          password="123456">
        jdbcConnection>
    
        
        <javaTypeResolver >
          
          <property name="forceBigDecimals" value="false" />
        javaTypeResolver>
    
        
        <javaModelGenerator targetPackage="com.mydemo.mytestdemo.dao.auto.bean" targetProject="src/main/java">
          <property name="enableSubPackages" value="true" />
          <property name="trimStrings" value="true" />
        javaModelGenerator>
    
        
        <sqlMapGenerator targetPackage="mybatis.Mapper.auto"  targetProject="src/main/resources">
          <property name="enableSubPackages" value="true" />
        sqlMapGenerator>
    
        
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.mydemo.mytestdemo.dao.auto"  targetProject="src/main/java">
          <property name="enableSubPackages" value="true" />
        javaClientGenerator>
    
        
        <table tableName="user_table" domainObjectName="User" modelType="flat" delimitIdentifiers="true" delimitAllColumns="true">
          <generatedKey column="id" sqlStatement="MySql" identity="true" />
        table>
        <table tableName="blog" domainObjectName="Blog" modelType="flat" delimitIdentifiers="true" delimitAllColumns="true">
          <generatedKey column="id" sqlStatement="MySql" identity="true" />
        table>
    
      context>
    
    generatorConfiguration>
    
    

    其他教程

    • 完整的官方教程,详情参见官方文档。
    • 其他参考:
      • 一分钟带你学会利用mybatis-generator自动生成代码

    你可能感兴趣的:(Mybatis,mybatis)