这个代码是我在网上无意中查到的,觉得很不错,但是东西太多一下消化不完,所以记录、发布出来一起学习,本来想此篇博客设置成转载,但是转载类型的必须要加上原创地址,找不到地址只能发个原创了,望真正的作者看到不要介意!
generatorConfig.xml 作用 :
是 mybatis-generator-maven-plugin插件的配置文件,配置该插件,用于连接数据库自动生成mybatis需要的代码文件、
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>
<!-- 可以用于加载配置项或者配置文件,在整个配置文件中就可以使用${
propertyKey}的方式来引用配置项
resource:配置资源加载地址,使用resource,MBG从classpath开始找,比如com/myproject/generatorConfig.properties
url:配置资源加载地质,使用URL的方式,比如file:///C:/myfolder/generatorConfig.properties.
注意,两个属性只能选址一个;
另外,如果使用了mybatis-generator-maven-plugin,那么在pom.xml中定义的properties都可以直接在generatorConfig.xml中使用
<properties resource="" url="" />
-->
<!-- 在MBG工作的时候,需要额外加载的依赖包
location属性指明加载jar/zip包的全路径
<classPathEntry location="/Program Files/IBM/SQLLIB/java/db2java.zip" />
-->
<!--
context:生成一组对象的环境
id:必选,上下文id,用于在生成错误时提示
defaultModelType:指定生成对象的样式
1,conditional:类似hierarchical;如果某张表只有一个字段,则不会生成改实体
2,flat:所有内容(主键,blob)等全部生成在一个对象中;常用
3,hierarchical:主键生成一个XXKey对象(key class),Blob等单独生成一个对象,其他简单属性在一个对象中(record class)
targetRuntime:
1,MyBatis3:默认的值,生成基于MyBatis3.x以上版本的内容,包括XXXBySample;
2,MyBatis3Simple:类似MyBatis3,只是不生成XXXBySmple;
introspectedColumnImpl:类全限定名,用于扩展MBG
-->
<context id="mysqlContext" defaultModelType="flat" targetRuntime="MyBatis3Simple">
<!-- beginningDelimiter和endingDelimiter:指明数据库的用于标记数据库对象名的符号,比如ORACLE就是双引号,MYSQL默认是`反引号; -->
<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>
<!-- MyMapper 工具类引入 tk.mybatis.mapper.generator.MapperPlug -->
<plugin type="tk.mybatis.generator.MapperPlug">
<property name="mappers" value="com.weChat.Utils.MyMapper"/>
</plugin>
<!-- 必须要有的,使用这个配置链接数据库 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://192.168.225.241:3306/test?useUnicode=true&characterEncoding=UTF-8"
userId="root123" password="root123">
<!-- 这里面可以设置property属性,每一个property属性都设置到配置的Driver上 -->
</jdbcConnection>
<!-- java模型创建器,是必须要的元素
负责:1,key类(见context的defaultModelType);2,java类;3,查询类
targetPackage:生成的类要放的包,真实的包受enableSubPackages属性控制;
targetProject:目标项目,指定一个存在的目录下,生成的内容会放到指定目录中,如果目录不存在,MBG不会自动建目录
-->
<javaModelGenerator targetPackage="com.weChat.Entity" targetProject="src/main/java">
<!