MyBatis架构

一.原理: 

  mybatis是支持普通 SQL查询,存储过程和高级映射的优秀持久层的框架,mybatis让程序将主要精力放在sql上,通过mybatis提供的映射方式,自由灵活生成(半自动化,大部分需要程序员编写sql)满足需要sql语句。

  mybatis可以将向 preparedStatement中的输入参数自动进行输入映射,将查询结果集灵活映射成java对象。(输出映射)

  将sql语句配置在xml配置文件中,即使sql变化,不需要对java代码进行重新编译。将sql语句及占位符号和参数全部配置在xml中。


二.架构图


    


  

3.具体实现

  每个MyBatis应用程序主要都是使用SqlSessionFactory实例的,一个SqlSessionFactory实例可以通过SqlSessionFactoryBuilder获得。SqlSessionFactoryBuilder可以从一个xml配置文件或者一个预定义的配置类的实例获得。

  

	//获得SqlSession
	public SqlSession getSqlSession() throws IOException {
		// mybastis配置文件
		String resource = "SqlMapConfig.xml";
		// 得到配置文件流
		InputStream impuStream = Resources.getResourceAsStream(resource);
		// 创建会话工厂
		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder()
				.build(impuStream);
		// 通过工厂得到sqlSession
		SqlSession sqlSession = sqlSessionFactory.openSession();
		return sqlSession;
	}

  Resources可以方便地从类路径及其它位置加载资源,使用类路径资源(classpath resource),用xml文件构建SqlSessionFactory实例。


四.总结:

  熟悉了架构之后,所有的代码都是在架构的基础上进行的简单操作,更加容易理解  



  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 29
    评论
Spring Boot MyBatis架构图主要包括以下几个主要组件: 1. Spring Boot:Spring Boot是一个用于快速构建Spring应用程序的开发框架。它简化了Spring应用程序的配置和部署过程,并提供了许多开箱即用的功能。 2. MyBatisMyBatis是一个持久层框架,用于将Java对象映射到关系型数据库中的数据。它提供了一种简单而强大的方式来进行数据库操作,使得开发人员可以轻松地执行CRUD操作。 3. 数据库:数据库是存储和管理数据的地方。在Spring Boot MyBatis架构图中,数据库用于存储应用程序的数据。 4. MyBatis配置文件:MyBatis配置文件是配置MyBatis框架的地方。它指定了数据库连接信息、映射文件的位置等重要配置。 5. 映射文件:映射文件是将Java对象映射到数据库表的地方。它定义了对象属性和数据库列之间的映射关系,以及操作数据库的SQL语句。 6. Mapper接口:Mapper接口是定义数据库操作方法的地方。它通常与映射文件相对应,提供了与数据库交互的方法。 7. Service层:Service层是应用程序的业务逻辑层。它负责处理业务逻辑,将请求转发给Mapper接口进行数据库操作。 8. Controller层:Controller层是应用程序的控制器层。它接收客户端的请求,调用Service层处理业务逻辑,并返回响应给客户端。 9. 数据库连接池:数据库连接池是用于管理数据库连接的工具。它提供了一种复用数据库连接的机制,提高了数据库访问性能。 总之,Spring Boot MyBatis架构图展示了Spring Boot与MyBatis框架的整合过程,包括数据库、配置文件、映射文件、Mapper接口、Service层和Controller层等组件。它们共同协作,实现了从客户端请求到数据库操作的完整流程。
评论 29
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值