MyBatisGenerator详解:逆向工程生成CRUD代码

需积分: 0 0 下载量 130 浏览量 更新于2024-08-04 收藏 482KB DOCX 举报
"mybatis逆向工程1" MyBatis Generator(MBG)是MyBatis框架的一个强大工具,它能够自动生成基于数据库表的Java实体类、Mapper接口以及相应的Mapper XML映射文件,大大简化了单表的CRUD操作。MBG的目标在于减少开发者对于基础数据操作的繁琐工作,但并不覆盖复杂的多表查询或存储过程的处理,这些仍需手动编写。 MBG的使用通常分为四个主要步骤: 1. 编写MBG配置文件:配置文件通常命名为`generatorConfig.xml`,在这个文件中,你需要指定数据库连接信息、要生成代码的表名以及生成的代码样式等。 2. 执行MBG API:通过调用MBG提供的API,加载并解析配置文件。 3. 生成代码:MBG根据配置文件中的设置,自动生成实体类、Mapper接口和Mapper XML文件。 4. 整合到MyBatis:最后,你需要将生成的文件集成到你的MyBatis项目中,更新MyBatis的配置文件以引用新生成的Mapper接口和映射文件。 为了开始使用MBG,首先需要创建一个新的项目,并添加必要的依赖。以下是一个示例的Maven依赖配置: ```xml <dependencies> <!--MBG核心库--> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3.4</version> </dependency> <!--MyBatis库--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.8</version> </dependency> <!--数据库驱动,例如MySQL--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.34</version> </dependency> </dependencies> ``` 请注意,MBG需要Java 1.6或更高版本的支持。配置文件`generatorConfig.xml`中,你需要定义数据库连接信息、表名和生成规则。例如: ```xml <configuration> <properties resource="jdbc.properties"> <!-- 数据库连接信息 --> </properties> <context id="DB1" targetRuntime="MyBatis3"> <plugin type="org.mybatis.generator.plugins.SerializablePlugin"/> <jdbcConnection driverClass="${jdbc.driver}" connectionURL="${jdbc.url}" userId="${jdbc.username}" password="${jdbc.password}"/> <javaModelGenerator targetPackage="com.example.model" targetProject="src/main/java"/> <sqlMapGenerator targetPackage="com.example.mapper" targetProject="src/main/resources"/> <javaClientGenerator targetPackage="com.example.mapper" targetProject="src/main/java" type="XMLMAPPER"/> <table tableName="your_table_name" domainObjectName="YourClassName" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"/> </context> </configuration> ``` 配置完成后,通过Java代码执行MBG,生成代码。例如: ```java public class Generator { public static void main(String[] args) { try { File configFile = new File("generatorConfig.xml"); ConfigurationParser cp = new ConfigurationParser(); Configuration config = cp.parseConfiguration(configFile); DefaultShellCallback callback = new DefaultShellCallback(true); List<String> warnings = new ArrayList<String>(); MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings); myBatisGenerator.generate(null); for (String warning : warnings) { System.out.println(warning); } } catch (Exception e) { e.printStackTrace(); } } } ``` 运行上述Java程序后,MBG将根据配置文件生成相应的Java文件和XML映射文件。接下来,你需要将这些文件添加到MyBatis的配置中,例如在`mybatis-config.xml`中配置Mapper扫描路径: ```xml <mappers> <package name="com.example.mapper"/> </mappers> ``` 至此,你已经成功地利用MyBatis Generator完成了逆向工程,现在可以开始使用自动生成的代码进行数据库操作了。记住,MBG的主要目的是简化基础CRUD操作,对于复杂的业务逻辑和多表交互,仍然需要手动编写SQL和相关Java代码。