• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
思想人生从关注生活开始
博客园    首页    新随笔    联系   管理    订阅  订阅

Mapper定义、作用、工作流程-MyBatis从入门到进阶系列

定义

Mapper是MyBatis中用于定义SQL语句和数据操作的接口,它通过Java接口定义了对数据库的操作,可以将数据操作从具体的实现中解耦,提高代码的可维护性和可扩展性。

作用

Mapper的作用主要有以下几个方面:

  • 定义SQL语句:Mapper通过Java接口定义SQL语句,可以将SQL语句从具体的实现中解耦,提高代码的可维护性。
  • 数据操作:Mapper定义了对数据库的操作,包括增、删、改、查等,提供了对数据库的完整控制。
  • 映射结果集:Mapper可以定义结果集的映射方式,将查询结果映射为Java对象,提高代码的可读性和可维护性。
  • 提供动态SQL:Mapper可以提供动态SQL,根据条件动态生成SQL语句,提高代码的灵活性和可扩展性。

工作流程

Mapper的工作流程一般如下所示:

  • 定义Mapper接口:开发人员根据应用程序的需求,定义Mapper接口,并在接口中定义SQL语句和数据操作。
  • Mapper映射文件:开发人员通过XML文件,将Mapper接口中定义的SQL语句和数据操作与具体的SQL语句进行映射。
  • SqlSessionFactory创建SqlSession:SqlSessionFactory根据配置信息创建SqlSession对象,SqlSession是MyBatis中用于执行SQL语句和数据操作的核心组件。
  • 获取Mapper对象:通过SqlSession的getMapper方法,获取Mapper接口的实现对象。
  • 调用Mapper方法:应用程序通过调用Mapper接口中定义的方法,执行SQL语句和数据操作。
  • 执行SQL语句和数据操作:Mapper接口的实现对象将SQL语句和数据操作转换为JDBC语句,执行SQL语句并将结果映射为Java对象。
  • 返回结果:Mapper接口的实现对象将查询结果或操作结果返回给应用程序。 需要注意的是,Mapper接口的实现对象是由MyBatis动态生成的,它是一个代理对象,通过代理对象将Mapper接口中定义的方法转换为JDBC语句并执行。Mapper接口的实现对象是线程安全的,可以被多个线程共享。
posted @ 2023-03-09 15:01  JackYang  阅读(3219)  评论(1)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3