Mybatis对象分析


在这里插入图片描述

一、 Resources类:

  • 顾名思义就是资源,用于读取资源文件。解析SqlMapConfig.xml文件,创建出相应的对象。其有很多方法通过加载并解析资源文件,返回不同类型的 IO 流对象。
  • 读取资源文件有三种方式:

(1)第一种方式:

  InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
  //采用这种方式,从类路径中加载资源,项目的移植性很强,项目从Windows移植到Linux,代码不需要修改,因为这个资源文件一直都在类路径当中。
  //Resource关键字表示的是类路径(resources目录)
  //通过源码我们发现这种方式底层调用的其实就是第三种方式。

(2)第二种方式:

  InputStream is = new FileInputStream("D:\\SqlMapConfig.xml");
  //采用这种方式也可以,但是这种放肆可移植性差,Linux系统中没有盘符,这种方式就会找不到文件。

(3)第三种方式:

  InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("SqlMapConfig.xml");
  //ClassLoader.getSystemClassLoader()获取系统的类加载器
  //第一种方式底层就是调用的这个。

二、SqlSessionFactoryBuilder类:

  • SqlSessionFactory 的创建,需要使用SqlSessionFactoryBuilder对象的build()方法。由于SqlSessionFactoryBuilder对象在创建完工厂对象后,就完成了其历史使命,即可被销毁。所以,一般会将该对象创建为一个方法内的局部对象,方法结束,对象销毁。
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);

三、SqlSessionFactory接口:

  • DefaultSqlSessionFactory是实现类。
  • SqlSessionFactory接口对象是一个重量级对象(系统开销大的对象),是线程安全的,所以一个应用只需要一个该对象即可。创建 SqlSession 需要使用 SqlSessionFactory 接口的 openSession()方法。

四、SqlSession接口:

  • DefaultSqlSession实现类。
  • SqlSession 接口对象用于执行持久化操作。一个 SqlSession 对应着一次数据库会话,一次会话以SqlSession 对象的创建开始,以 SqlSession 对象的关闭结束。
  • SqlSession 接口对象是线程不安全的,所以每次数据库会话结束前,需要马上调用其 close()方法,将其关闭。再次需要会话,再次创建。 SqlSession 在方法内部创建,使用完毕后关闭。
SqlSession sqlSession = factory.openSession();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

姓蔡小朋友

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值