MyBatis中SQLSessionFactory和SqlSession的简介以及配置文件使用(二)

MyBatis中SQLSessionFactory和SqlSession的简介以及配置文件使用

学习要点

SQLSessionFactory和SqlSession的学习
MyBatis的配置文件的学习

SQLSessionFactory和SqlSession的学习

    SQLSessionFactory和SqlSession是MyBatis中常用的对象.
    SQLSessionFactory使用SQLSessionFactoryBuilder对象获得的,SQLSessionFactoryBuilder可以通过预先定制的configuration或者xml配置文件的实例构建出SQLSessionFactory,SQLSessionFactory是线程安全的,一旦被创建,。应用在执行期间都会存在,SQLSessionFactory也是创建SqlSession的工厂。可以通过SqlSession openSession().创建SqlSession对象。

-----------------------------------------------------------

    SqlSession 对象是MyBatis的关键对象,是执行持久层操作的对象,类似于JDBC的Connection,他是应用程序与持久储存层之间执行交互的操作的一个单线程对象,也是Mybatis执行持久话操作的关键对象。SqlSession底层对jdbc进行了封装,在使用的时候可以进行数据库的各种操作,使用结束之后,还需要使用finally进行关闭连接,
    在实际应用中很少直接使用DriverManager来获取数据库连接,通常都会使用dataSource来获取数据库连接,SqlSessionFactory底层封装了DataSource

MyBatis的配置文件的学习

这里写图片描述

看下面的代码,来认识一下MyBatis的初始化教程
/*获取当前mybatis配置文件*/
InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("mybatis-config.xml");
/*创建sqlSessionFactory对象*/
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
/*创建SQLSession对象操作持久层对象*/
SqlSession session = sqlSessionFactory.openSession();
序列图:

这里写图片描述

初始化讲解:

这里写图片描述

看到MyBatis初始化进行的操作之后,我们在来看看初始化时可以进行的一些设置来构建出SqlSessionFactoryBuilder。

MyBatis配置文件的结构
MyBatis配置文件中大标签configuration下子标签包括:
configuration
|--- properties
|--- settings
|--- typeAliases
|--- typeHandlers
|--- objectFactory
|--- plugins
|--- environments
|--- |--- environment
|--- |--- |--- transactionManager
|--- |--- |__ dataSource
|__ mappers
  1. MyBatis配置文件的结构
    • MyBatis配置文件包含了影响MyBatis的行为信息,顶层的配置信息为:
      1. properties属性
        这些属性都是可以外部配置或者动态替换的,既可以在典型的java中配置也可以在properties元素的子元素中来传递
        这里写图片描述
      2. settings设置,这是一个MyBatis的极其重要的调整设置,它们会改变的MyBatis的运行时的行为,
        这里写图片描述
        这里写图片描述
        这里写图片描述
      3. typeAliases类型命名
        就是为java类设置一简短的类名。设置之后,可以在任何地方用简短的别名来代替全限定的类名.
        使用:
        这里写图片描述
        这里写图片描述
        这里写图片描述
      4. typeHandlers类型处理器
        无论是Mybatis在预处理(preparedStatements)中设置一个参数时,还是从查询出来的结果集中取出一行数据时,都是需要把数据转换为java中的对象,下面是转换对象时默认的转换方式:
        这里写图片描述
        这里写图片描述
      5. objectFactory对象工厂
        MyBatis 每次创建结果对象的新实例时,它都会使用一个对象工厂(ObjectFactory)实例来完成。默认的对象工厂需要做的仅仅是实例化目标类,要么通过默认构造方法,要么在参数映射存在的时候通过参数构造方法来实例化。默认情况下,我们不需要配置,mybatis会调用默认实现的objectFactory。 除非我们要自定义ObjectFactory的实现, 那么我们才需要去手动配置。
        配置自定义的ObjectFactory
        这里写图片描述
      6. environments环境配置
        MyBatis的环境配置其实就是数据源的配置,MyBatis可以配置多种环境,这种机制使得MyBatis可以将sql语句映射应用到不同的数据库中。例如正式,开发,测试等需要使用不同的配置,多个生产数据库使用相同的Sql映射等。
        注意:
        这里写图片描述
        环境配置实例:
        这里写图片描述
        这里写图片描述
      7. mapper映射器—具体Mapper配置文件详细
        这里写图片描述
  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值