企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# 资源 代码生成器 MyBatis Generator(MBG)。官方文档 http://www.mybatis.org/generator/。本书使用1.3.3版本。 # 5.1 XML配置详解 MBG xml配置文件各个标签详解见书5.2 一个配置参考示例在项目的 src/main/resources 中创建一个 generator 目录, 在该目录下创建一个generatorConfig.xml文件, 文件内容如下: ``` <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!-- 加载属性文件 --> <properties resource="jdbc.properties"> </properties> <settings> <!-- 使用LOG4J打印日志 --> <setting name="logImpl" value="LOG4J" /> <!-- 让下划线命名【数据库中列名】方式可以和驼峰式命名方式【java类字段名】相互转化, --> <setting name="mapUnderscoreToCamelCase" value="true" /> <setting value="false" name="aggressiveLazyLoading" /> <setting name="cacheEnabled" value="true" /> </settings> <typeAliases> <!-- 可以直接使用java的类名 --> <package name="tk.mybatis.simple.model" /> </typeAliases> <!--自定义类型处理器--> <typeHandlers> <typeHandler javaType="tk.mybatis.simple.type.Enabled" handler="tk.mybatis.simple.type.EnabledTypeHandler" /> </typeHandlers> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"> <property name="" value="" /> </transactionManager> <dataSource type="UNPOOLED"> <!-- ${}用来读取属性文件中的变量值 --> <property name="driver" value="${driver}" /> <property name="url" value="${url}" /> <property name="username" value="${username}" /> <property name="password" value="${password}" /> </dataSource> </environment> </environments> <!-- mapper.java和mapper.xml映射,文件路径都相同 --> <mappers> <package name="tk.mybatis.simple.mapper" /> </mappers> </configuration> ``` **1**context属性targetRuntime设置为MyBatis3Simple, 主要是为了避生成与Example相关的代码和方法, 如果需要Example相关的代码, 也以设置为MyBatis3。 **2**.context 属性 defaultModelType 设置为 flat, 目的是使每个表只成一个实体类, 当没有复杂的类继承时, 使用起来更方便。 **3**.因为此处使用的数据库为MySQL, 所以前后分隔符都设置为“`”。 **4**.注释生成器commentGenerator中配置了生成数据库的注释信息,并且禁止在注释中生成日期。 **5**.jdbcConnection简单地配置了要连接的数据源信息。 **6**.javaModelGenerator 配置生成的包名为 test.model, 这个包名可根据自己代码的规范进行修改, targetProject设置在src\main\java中。 **7**sqlMapGenerator配置生成的Mapper.xml文件的位置, 这里的targetProject设置为src\main\resources **8**javaClientGenerator 配置生成Mapper接口的位置, 这里采用XMLMAPPER类型, 接口和XML完全分离。 **9**最后的table使用通配符“%”匹配数据库中所有的表, 所有表都有主键自增的id字段, sqlStatement针对当前数据库配置MySQL。 # 5.3 运行MyBatis Generator ## 5.3.4 使用Eclipse插件运行 生成代码的注释中都有一个@mbggenerated标记, 这个标记的含义是, 被标记的这个字段或方法是自动生成的, 重新生成时会被覆盖。 没有这个标记的代码不是自动生成的, 不会被覆盖,原来自己写的代码和新生成的代码合并。 除eclipse插件以外的方式方式在重新生成的时候, 这个标记没有任何作用, 原来的文件被新生成的文件替代。插件使用步骤 **1**  5.3.4.1 安装Eclipse插件 **2**  修改 generator/generatorConfig.xml文件,如下图: ![](https://box.kancloud.cn/5e960a990e40aa3df1f4a53ff6d1788d_626x291.png) **3**  在和 targetProject 有关的相对路径中需要增加当前的项目名称, 将src\main\java 改为 simple\src\main\java, 将 src\main\resources改为simple\src\main\resources。 **4**.  对generator/generatorConfig.xml右键单击鼠标,如下图 ,会自动生成代码 ![](https://box.kancloud.cn/2d6dca4483ced360754f4299ef20a93f_417x105.png)