目录
步骤:
1. 创建数据库表
2. 配置 MyBatis Generator
3. 运行 MyBatis Generator
4. 编写业务逻辑
在实际开发中,你会发现有很多重复的工作:
首先是PO对象,我们往往创建与数据库表字段一一对应的PO对象;
其次在Mapper里,通常都会写基本的增删改查代码。
解决这个问题,我选择MyBatis Generator, MyBatis Generator是一个用于生成 MyBatis 持久层代码的工具。以下是一个简单的使用 MyBatis Generator 生成代码并编写相应业务逻辑的示例。这个示例假设你已经有一个数据库,并已经准备好了 MyBatis Generator 的配置文件。
步骤:
1. 创建数据库表
在数据库中创建一个表,例如 user
表:
CREATE TABLE user ( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50), password VARCHAR(50) );
2. 配置 MyBatis Generator
创建 MyBatis Generator 的配置文件 generatorConfig.xml
,定义生成器的配置。这个文件通常包含数据库连接信息、生成的代码的目标包路径、表映射等配置。
<!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="DB2Tables" targetRuntime="MyBatis3"> <commentGenerator> <property name="suppressAllComments" value="true" /> </commentGenerator> <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/your_database" userId="your_username" password="your_password"> </jdbcConnection> <javaTypeResolver> <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <javaModelGenerator targetPackage="com.example.model" 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" /> </context> </generatorConfiguration>
替换其中的 your_database
、your_username
、your_password
为你的数据库信息。
3. 运行 MyBatis Generator
在命令行中执行以下命令,运行 MyBatis Generator:
java -jar mybatis-generator-core-x.x.x.jar -configfile generatorConfig.xml -overwrite
这里的 mybatis-generator-core-x.x.x.jar
是 MyBatis Generator 的 JAR 文件,版本号根据实际情况替换。
4. 编写业务逻辑
在 com.example.model
中生成的 User
类,以及 com.example.mapper
中生成的 UserMapper
接口和对应的 XML 文件。
编写业务逻辑的示例:
// User.java package com.example.model; public class User { private Integer id; private String username; private String password; // 省略getter和setter } // UserMapper.java package com.example.mapper; import com.example.model.User; public interface UserMapper { int insert(User record); User selectByPrimaryKey(Integer id); // 其他自动生成的方法 } // UserService.java package com.example.service; import com.example.mapper.UserMapper; import com.example.model.User; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service public class UserService { private final UserMapper userMapper; @Autowired public UserService(UserMapper userMapper) { this.userMapper = userMapper; } public void addUser(User user) { userMapper.insert(user); } public User getUserById(Integer id) { return userMapper.selectByPrimaryKey(id); } }
这是一个简单的示例,具体业务逻辑根据实际需求进行扩展。通过 MyBatis Generator 自动生成的代码,你可以轻松地进行数据库访问和操作。
推荐一篇比较详细的文章:5.6 Mybatis代码生成器Mybatis Generator (MBG)实战详解-CSDN博客