Mybatis的SqlSession

  前边我们讲过了两个持久层框架Hibernate和Mybatis的区别和适用场景,即Mybatis是一个不完全的ORM框架,须程序员编写SQL,所以对SQL的修改和优化很方便,而且将SQL相关内容放到了xml配置文件中,避免了JDBC API中的硬编码的问题,但是同时他也对输入参数-SQL参数和SQL查询结果-Java对象进行了映射。适用于需求变化较快的项目,比如:互联网项目。而Hibernate是一个标准的ORM框架,不需要程序员编写SQL,SQL根据HQL和hbm.xml文件自动生成了,因此在修改和优化SQL语句时会很困难,适用场景为项目需求变化较小的项目。

  今天我们来讲一讲类似于Hibernate中Session的SqlSession这个接口。

  1.SqlSession

  它是一个面向程序员的接口,这个接口中提供了很多操作数据库的方法。

  它除了包含方法外,这接口的实现类中还有一些数据域的属性,但是这个SqlSession的实例时单例的,因此就容易造成线程不安全的问题。

  SqlSession的最佳应用场合是在方法中,因为每个线程都有不同的方法区,即不安全的线程类的对象定义在方法中最安全。

  2.SqlSessionFactory的使用范围

  我们知道在和Spring整合之后,SqlSessionFactory将会被IOC容器管理成单例模式。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值