本文共 3107 字,大约阅读时间需要 10 分钟。
MyBatis Generator(MBG)是一款强大的工具,能够自动化地根据数据库表结构生成Java类和SQL映射文件。本文将详细介绍MyBatis Generator的配置文件中的一些关键设置和优化项。
在 <context>
标签中,我们可以指定生成模型的环境和默认模型类型。以下是常用的配置项:
defaultModelType
:指定生成对象的样式。
Key
对象。XXKey
对象,BLOB等单独生成一个对象,其他属性生成在一个对象中。targetRuntime
:指定生成模型的目标运行时环境。
XXXBySample
。XXXBySample
。在 <jdbcconnection>
标签中,配置数据库驱动和连接信息。以下是常用的配置项:
driverclass
:数据库驱动类路径。
com.mysql.jdbc.Driver
connectionurl
:数据库连接 URL。
jdbc:mysql:///pss
userid
和 password
:数据库用户 ID 和密码。
在 <javatyperesolver>
标签中,指定数据库字段类型到 Java 类型的映射规则。以下是常用的配置项:
type
:指定类型处理器的全限定名,默认使用 JavaTypeResolverDefaultImpl
。
org.mybatis.generator.internal.types.JavaTypeResolverDefaultImpl
forceBigDecimals
:强制将 DECIMAL
和 NUMERIC
数据类型映射为 BigDecimal
。
false
在 <javamodelgenerator>
标签中,指定生成的 Java 类的包和项目路径。以下是常用的配置项:
targetpackage
:生成的 Java 类所在的包名。
com._520it.mybatis.domain
targetproject
:生成的 Java 类所在的项目目录。
src/main/java
constructorBased
:是否为生成的类创建构造方法。
false
enableSubPackages
:在 targetPackage
的基础上,根据数据库 schema 生成子包。
true
immutable
:是否生成不可变的类。
false
rootClass
:指定生成的类继承的根类。
com._520it.mybatis.domain.BaseDomain
在 <sqlmapgenerator>
标签中,指定生成的 SQL Map 文件的包和项目路径。以下是常用的配置项:
targetpackage
:生成的 SQL Map 文件所在的包名。
com._520it.mybatis.mapper
targetproject
:生成的 SQL Map 文件所在的项目目录。
src/main/resources
enableSubPackages
:在 targetPackage
的基础上,根据数据库 schema 生成子包。
true
在 <javaclientgenerator>
标签中,指定生成的 Mapper 接口类型和包。以下是常用的配置项:
type
:指定生成的 Mapper 接口类型。
ANNOTATEDMAPPER
,生成使用 Mapper 接口和注解的方式创建。MIXEDMAPPER
,生成混合配置,包含 Mapper 接口和注解。XMLMAPPER
,生成基于 XML 的 Mapper 接口。targetpackage
:生成的 Mapper 接口所在的包名。
com._520it.mybatis.mapper
enableSubPackages
:在 targetPackage
的基础上,根据数据库 schema 生成子包。
true
在 <table>
标签中,指定要生成的表的信息。以下是常用的配置项:
tablename
:要生成对象的表名。
userinfo
schema
:数据库的 schema 名。
mydb
catalog
:数据库的 catalog 名。
mycatalog
domainObjectName
:生成的领域对象的名字。
User
enableInsert
:是否生成插入语句。
true
enableSelectByPrimaryKey
:是否生成按照主键查询对象的语句。
true
enableSelectByExample
:是否生成动态查询语句。
true
enableUpdateByPrimaryKey
:是否生成按照主键修改对象的语句。
true
enableDeleteByPrimaryKey
:是否生成按照主键删除对象的语句。
true
enableDeleteByExample
:是否生成动态删除语句。
true
enableCountByExample
:是否生成动态查询总条数语句。
true
enableUpdateByExample
:是否生成动态修改语句。
true
在 <columnRenamingRule>
标签中,指定列名的重命名规则。以下是常用的配置项:
searchString
:列名的搜索字符串。
^CUST_
replaceString
:替换后的列名。
ID
在 <ignoreColumn>
标签中,指定要忽略的列名。以下是常用的配置项:
column
:要忽略的列名。 deptId
在 <generatedKey>
标签中,指定主键的生成规则。以下是常用的配置项:
column
:主键的列名。
id
sqlStatement
:生成的 selectKey
SQL 语句。
SELECT LAST_INSERT_ID()
(MySQL)在 <generatorconfiguration>
标签中,可以添加其他配置项,如资源加载地址、依赖包加载路径等。以下是常用的配置项:
resource
:配置资源加载地址。
com/myproject/generatorConfig.properties
url
:配置资源加载 URL。
file:///C:/myfolder/generatorConfig.properties
location
:指定加载 jar/zip 包的路径。
/Program Files/IBM/SQLLIB/java/db2java.zip
通过以上配置,MyBatis Generator 能够根据数据库表结构自动生成高质量的 Java 类和 SQL 映射文件。配置文件中的每一个配置项都对生成的结果产生直接影响,合理配置能够显著提升开发效率。
转载地址:http://nyffk.baihongyu.com/