Mybatis学习总结

记录一下学习总结,方便以后遗忘查看           复习使用

先介绍一些概念。。。。。

MyBatis是一个开源的数据持久层框架。它内部封装了通过JDBC访问数据库的操作,支持普通的SQL查询,存储过程和高级映射。几乎消除了所有JDBC代码和参数的手工设置以及结果集的检索。

ORM(Object/Ralational Mapping)即对象/关系映射。是一种数据持久化技术,它在对象模型和关系型数据库之间建立起对应关系,并且提供了一种机制,通过JavaBean对象去操作数据库表中的数据。

MyBatis就是ORM的解决方案。


MyBatis的三个基本要素:

  • 核心接口和类;
  • MyBatis核心配置文件(mybatis-config.xml);
  • SQL映射文件(mapper.xml);

核心接口和类:

每个MyBatis的应用程序都以一个SqlSessionFactory对象的实例为核心,

  • 首先获取SqlSessionFactorBuilder对象,可以根据XML配置文件或Configuration类的实例构建该对象。
  • 然后获取SqlSessionFactory对象,该对象实例可以通过SqlSessionFactoryBuilder对象来获得。
  • 有了SqlSessionFactory对象之后,就可以进而获取SqlSession实例,SqlSession对象中完全包含以数据库为背景的所有执行SQL操作的方法,可以用该实例来直接执行已映射的SQL语句。

SqlSessionFactoryBuilder:

  • SqlSessionFactoryBuilder负责构建SqlSessionFactory,并且提供了多个build()方法的重载;
  • 配置信息可以以三种形式提供给SqlSessionFactoryBuilder的build()方法,InputStream(字节流)、Reader(字符流)、Configuration(类);
  • SqlSessionFactoryBuilder的最大特点:用过即丢。一旦创建SqlSessionFactory对象之后,这个类就不需要存在了,因此SqlSessionFactoryBuilder的最佳范围就是存在于方法体内,也就是局部变量而已;

SqlSessionFactory:

  • SqlSessionFactory简单的理解就是创建SqlSession的工厂。所有的MyBatis应用都是以SqlSessionFactory实例为核心,
  • SqlSessionFactory的实例可以通过SqlSessionFactoryBuilder对象来获得。有了它之后,就可以用SqlSessionFactory提供的openSession()方法来获取SqlSession的实例。
    • openSession()方法的参数为boolean值时,若传入为true表示关闭事务控制,自动提交;false表示开始事务控制,若不传参,默认为true;
  • SqlSessionFactory对象一旦创建,就会在整个应用运行过程中始终存在,没有理由去销毁或再创建它,并且再应用运行中也不建议多次创建SqlSessionFactory。因此SqlSessionFactory的最佳作用域时Application,即随着应用的生命周期一同存在,那么这种存在于整个应用运行期间,并且同时只有一个对象实例 的模式称之为单例模式;

SqlSession:

  • SqlSession是用于执行持久化操作的对象,类似于JDBC中的Connection。它提供了面向数据库执行SQL命令所需的所有方法,可以通过SqlSession实例直接运行已映射的SQL语句。
  • SqlSession对应着一次数据库会话。由于数据库会话不是永久的,因此SqlSession的生命周期也不应该是永久的,相反,再每一次访问数据库都需要创建它(这里并不是再说SqlSession只能执行一次SQL,SqlSession完全可以执行多次,但是若关闭了SqlSession,那么就需要重新创建它),创建SqlSession的地方只有一个,那就是SqlSessionFactory对象的openSession()方法
  • 需要注意的是:每个线程都有自己的SqlSession实例,SqlSession实例不能被共享,也不是线程安全的。因此最佳的作用域范围是request作用域或者方法体作用域内。
    • SqlSession的两种使用方式:
      • 1.通过SqlSession实例来直接执行已映射的SQL语句
      • 2.基于mapper接口方式操作数据

MyBatis核心配置文件(mybatis-config.xml):

mybatis-config.xml文件元素:
		configuration:配置文件的根元素节点
		properties:可以配置在Java属性配置文件中
			有两种使用方式:
			1.通过resource属性从外部指定properties属性
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值