如何自动生成Mybatis的Mapper文件详解

  

  

工作中使用mybatis时我们需要根据数据表字段创建pojo类,mapper文件以及dao类,并且需要配置它们之间的依赖关系,这样的工作很琐碎和重复,mybatis官方也发现了这个问题,因此给我们提供了mybatis发电机工具来帮我们自动创建pojo类,mapper文件以及dao类并且会帮我们配置好它们的依赖关系。

  

实际上,最非常流行MyBatis-Plus中内置了代码生成器:采用代码或者Maven插件可快速生成映射器,模型,服务,控制器层代码,支持模板引擎,有超多自定义配置等,在这主要介绍Mybatis的自动生成步骤。

  


  

        & lt; build>   & lt; plugins>   & lt; plugin>   & lt; groupId> org.springframework.boot   & lt; artifactId> spring-boot-maven-plugin   & lt;/plugin>   & lt; plugin>   & lt; groupId> org.mybatis.generator   & lt; artifactId> mybatis-generator-maven-plugin   & lt; version> 1.3.5   & lt; dependencies>   & lt; dependency>   & lt; groupId> mysql   & lt; artifactId> mysql-connector-java   & lt; version> 6.0.6   & lt;/dependency>   & lt; dependency>   & lt; groupId> org.mybatis.generator   & lt; artifactId> mybatis-generator-core   & lt; version> 1.3.5   & lt;/dependency>   & lt;/dependencies>   & lt; !——& lt; executions>——比;   & lt; !——& lt; execution>——比;   & lt; !——& lt; id>生成MyBatis Artifacts——比;   & lt; !——& lt; phase> package——比;   & lt; !——& lt; goals>——比;   & lt; !——& lt; goal> generate——比;   & lt; !——& lt;/goals>——比;   & lt; !——& lt;/execution>——比;   & lt; !——& lt;/executions>——比;   & lt; configuration>   & lt; !——允许移动生成的文件——比;   & lt; verbose> true   & lt; !——是否覆盖——比;   & lt; overwrite> true   & lt; !——自动生成的配置——比;   & lt; configurationFile>   src/main/资源/generatorConfig.xml   & lt;/configurationFile>   & lt;/configuration>   & lt;/plugin>   & lt;/plugins>   & lt;/build>      

mysql-connector-java的版本问题,如果你的驱动是com.mysql.cj.jdbc.Driver,你就需要. x的版本。如果是com.mysql.jdbc。司机则是5.1.x的版本。

  


  

        & lt; & # 63; xml version=" 1.0 " encoding=" utf - 8 " & # 63;比;   & lt; !DOCTYPE generatorConfiguration   公共”——//mybatis.org//DTD MyBatis发电机配置1.0//EN”   “http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd”在      & lt; generatorConfiguration>   & lt; !——导入属性配置——比;   & lt;属性资源=" datasource.properties "祝辞& lt;/properties>      & lt; !——背景是逆向工程的主要配置信息——比;   & lt; !- - - id:名字——比;   & lt; !——targetRuntime:设置生成的文件适用于那个mybatis版本——比;   & lt;上下文id=澳稀眛argetRuntime=癕yBatis3”比;      & lt; !——生成的Java文件的编码——比;   & lt;属性名=" javaFileEncoding " value=" https://www.yisu.com/zixun/UTF-8 "/比;      & lt; !——可选,旨在创建类时,对注释进行控制——比;   & lt; commentGenerator>   & lt;属性名=" suppressDate " value=" https://www.yisu.com/zixun/true "/比;   & lt;属性名=" suppressAllComments " value=" https://www.yisu.com/zixun/true "/比;   & lt;/commentGenerator>      & lt; !——jdbc的数据库连接——比;   & lt; jdbcConnection   driverClass=" $ {db.driverClassName}”   connectionURL=" $ {db.url}”   用户id=" $ {db.username}”   密码=" $ {db.password} "比;   & lt;/jdbcConnection>      & lt; !——非必需,类型处理器,在数据库类型和java类型之间的转换控制——比;   & lt; javaTypeResolver>   & lt;属性名=" forceBigDecimals " value=" https://www.yisu.com/zixun/false "/比;   & lt;/javaTypeResolver>      & lt; !——模型模型生成器,用来生成含有主键键的类,记录类以及查询类示例   targetPackage指定生成的模型生成所在的包名   targetProject指定在该项目下所在的路径   ——比;   & lt; !——& lt; javaModelGenerator targetPackage=" com.mmall。pojo”targetProject="。主要\ src \ \ java”祝辞——比;   & lt; javaModelGenerator targetPackage=" com.ke.likehouse。模式”targetProject="。/src/main/java”比;   & lt; !——是否允许子包,即targetPackage.schemaName。表——比;   & lt;属性名=" enableSubPackages " value=" https://www.yisu.com/zixun/false "/比;   & lt; !——是否对模型添加构造函数——比;   & lt;属性名=" constructorBased " value=" https://www.yisu.com/zixun/true "/比;   & lt; !——是否对类字符类型的列的数据进行调整操作——比;   & lt;属性名=" trimStrings " value=" https://www.yisu.com/zixun/true "/比;   & lt; !——建立的模型对象是否不可改变即生成的模型对象不会有setter方法,只有构造方法——比;   & lt;属性名="不变" value=" https://www.yisu.com/zixun/false "/比;   & lt;/javaModelGenerator>      & lt; !——mapper映射文件生成所在的目录为每一个数据库的表生成对应的SqlMap文件——比;   & lt; !——& lt; sqlMapGenerator targetPackage=坝成淦鳌眛argetProject=薄V饕猏 src \ \资源”祝辞——比;   & lt; sqlMapGenerator targetPackage=" mybatis/映射器”targetProject=" ./src/main/资源”在   & lt;属性名=" enableSubPackages " value=" https://www.yisu.com/zixun/false "/比;   & lt;/sqlMapGenerator>      & lt; !——客户端代码,生成易于使用的针对模型对象和XML配置文件的代码   type=" ANNOTATEDMAPPER”,生成Java模型和基于注解的映射器对象   type=" MIXEDMAPPER”,生成基于注解的Java模型和相应的映射器对象   type=" XMLMAPPER”,生成SQLMap XML文件和独立的Mapper接口   ——比;   & lt; !——targetPackage: mapper接口刀生成的位置——比;   & lt; !——& lt; javaClientGenerator类型=癤MLMAPPER targetPackage=" com.mmall”。道”targetProject="。主要\ src \ \ java”祝辞——比;   & lt; javaClientGenerator类型=癤MLMAPPER targetPackage=" com.ke.likehouse”。道”targetProject="。/src/main/java”比;   & lt; !——enableSubPackages:是否让模式作为包的后缀——比;   & lt;属性名=" enableSubPackages " value=" https://www.yisu.com/zixun/false "/比;   & lt;/javaClientGenerator>      & lt; !——生成的表——比;   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

如何自动生成Mybatis的Mapper文件详解