MyBatis Generator是一个ORM层面的代码自动生成器,它可以根据数据库表结构自动生成Java代码的ORM映射文件、实体类以及Mapper接口,从而大大提高开发效率。
下面是使用MyBatis Generator生成ORM代码的完整攻略:
准备工作
-
首先,我们需要安装JDK和MySQL数据库,并在MySQL中创建好要生成ORM代码的数据库表。
-
接着,我们需要下载MyBatis Generator的jar包和配置文件,在MyBatis Generator官网下载最新版本。
-
解压下载的文件,找到generatorConfig.xml配置文件,这个文件就是MyBatis Generator的核心配置文件,里面包含了各种配置选项。
配置文件
-
在配置文件中,我们需要先指定数据库连接信息,包括driver、url、username和password。
-
然后,我们需要指定要生成的Java文件的包名和存储路径,这里可以根据自己的项目需求进行配置。
-
接着,我们需要指定要生成的ORM映射文件的类型,有两种类型:XML和ANNOTATION。如果选择XML类型,则会生成以“Mapper.xml”结尾的文件;如果选择ANNOTATION类型,则会在实体类中使用注解来定义映射关系。
-
最后,我们需要指定要生成的数据表和对应的实体类以及Mapper接口等信息,这些信息包括:
-
table:要生成ORM映射文件的数据表名。
- domainObjectName:实体类的名字。
- mapperName:Mapper接口的名字。
- sqlProviderName:SQL提供者的名字。
- Example:Example类的名字。
下面是一个简单的配置文件示例:
<?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>
<context id="mysql" targetRuntime="MyBatis3">
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/test"
userId="root"
password="123456">
</jdbcConnection>
<javaModelGenerator targetPackage="com.example.entity"
targetProject="src/main/java">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<sqlMapGenerator targetPackage="mapper"
targetProject="src/main/resources">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.example.mapper"
targetProject="src/main/java">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<table tableName="user" domainObjectName="User"
mapperName="UserMapper" sqlProviderName="UserSqlProvider"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false">
</table>
</context>
</generatorConfiguration>
运行生成器
- 配置好generatorConfig.xml文件之后,在命令行中进入到该文件所在的目录下,执行以下命令来启动代码生成器:
java -jar mybatis-generator-core-x.x.x.jar -configfile generatorConfig.xml -overwrite
其中,“mybatis-generator-core-x.x.x.jar”是MyBatis Generator的jar包文件名,根据版本号可能会有所不同。
- 执行命令后,MyBatis Generator就会根据配置文件中的信息自动建立相应的Java文件和Mapper接口,从而完成ORM映射的代码生成。
示例
下面是一个示例,演示如何使用MyBatis Generator生成User表对应的ORM映射代码。
- 首先,我们需要在MySQL中创建名为“test”的数据库,并在该数据库下创建一张名为“user”的表,表结构如下:
CREATE TABLE `user` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
`sex` varchar(2) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
- 接着,我们在代码文件夹下创建一个generatorConfig.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>
<context id="mysql" targetRuntime="MyBatis3">
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/test"
userId="root"
password="123456">
</jdbcConnection>
<javaModelGenerator targetPackage="com.example.entity"
targetProject="src/main/java">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<sqlMapGenerator targetPackage="com.example.mapper"
targetProject="src/main/resources">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.example.mapper"
targetProject="src/main/java">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<table tableName="user" domainObjectName="User"
mapperName="UserMapper" sqlProviderName="UserSqlProvider"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false">
</table>
</context>
</generatorConfiguration>
- 在命令行中进入到generatorConfig.xml文件所在的目录下,执行以下命令来启动代码生成器:
java -jar mybatis-generator-core-1.4.0.jar -configfile generatorConfig.xml -overwrite
执行完毕后,我们可以在com.example.entity包下看到自动生成的User.java实体类文件、在com.example.mapper包下看到自动生成的UserMapper.java和UserMapper.xml文件。其中,UserMapper.xml文件就是ORM映射文件,定义了User表和User实体类之间的映射关系。
到这里,我们就成功地使用了MyBatis Generator生成了ORM映射代码。
除了上述方式外,MyBatis Generator也可以通过Maven插件的方式,来在Maven项目构建过程中实现自动化生成ORM代码。关于Maven插件的使用可以参考MyBatis官网的相关文档。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MyBatis Generator ORM层面的代码自动生成器(推荐) - Python技术站