在MyBatis项目中,mapper 和 model 文件夹扮演着重要的角色,它们分别负责不同的功能:
model 文件夹
作用: 存放Java实体类(Entity),也称为模型类或领域对象。这些类代表了数据库中的表,每个类对应一张表,类的属性对应表的字段。
内容: 实体类通常包含私有属性(对应数据库字段)、getter/setter方法(用于访问属性)、构造函数等。
意义:封装数据: 将数据库表的数据封装成Java对象,方便在应用程序中操作。
抽象模型: 隐藏数据库表的具体细节,提供更高级别的抽象,使应用程序更易于维护。
类型安全: 使用强类型语言的特性,确保数据类型的一致性,减少错误。
mapper 文件夹
作用: 存放Mapper接口和对应的Mapper XML文件。Mapper接口定义了操作数据库的方法,Mapper XML文件则包含了与方法对应的SQL语句。
内容:Mapper接口: 声明了各种数据库操作方法,如增删改查。
Mapper XML: 使用XML格式定义SQL语句,并与Mapper接口的方法进行映射。
意义:数据访问层: 负责与数据库交互,执行SQL语句,实现数据的持久化。
解耦合: 将SQL语句与Java代码分离,提高代码的可读性和可维护性。
灵活映射: 通过XML配置实现复杂的SQL语句和结果集的映射。
简单来说:
model: 描述数据是什么(数据结构)。
mapper: 描述如何操作数据(数据库操作)。
举例:
假设你有一个名为 user 的表,包含 id、name、age 三个字段。
在 model 文件夹中,你会有一个 User 类,包含 id、name、age 三个属性以及对应的 getter/setter 方法。
在 mapper 文件夹中,你会有一个 UserMapper 接口,声明 getUserById、insertUser 等方法,以及一个 UserMapper.xml 文件,定义这些方法对应的 SQL 语句。
总结
model 和 mapper 文件夹是 MyBatis 框架中不可或缺的组成部分,它们共同实现了数据在 Java 应用程序和数据库之间的映射和交互。理解它们的作用和关系,对于使用 MyBatis 开发应用程序非常重要。