Mybatis核心对象

 

1. SqlSessionFactory

这个主要用于建立SqlSession,也就是数据库连接。

JavaEE开发框架SSM 008Mybatis(二)

对于SqlSessionFactory的访问是多线程安全的,所以一般只用于生产SqlSession,采用单例模式就可以。

 

2. SqlSession

这个用于数据库操作,是单线程的。每一个线程应该自己拥有SqlSession,并且不可以被共享,线程不安全,要及时的关闭,最好是一次请求,或者一个方法中使用。

JavaEE开发框架SSM 008Mybatis(二)

其常用方法如下:

JavaEE开发框架SSM 008Mybatis(二)JavaEE开发框架SSM 008Mybatis(二)JavaEE开发框架SSM 008Mybatis(二)

 

由于SqlSessionFactory是线程安全的,我们常常这么设计:

JavaEE开发框架SSM 008Mybatis(二)JavaEE开发框架SSM 008Mybatis(二)

 

 

Mybais配置文件

 

JavaEE开发框架SSM 008Mybatis(二)

 

1. Properties

用于分离一些配置到外部的文件中,例如,我们在外面的db.properties文件中配置数据库连接信息:

JavaEE开发框架SSM 008Mybatis(二)

这个时候想把这些配置包含到mybatis核心配置文件中来用,怎么办?使用properties:

JavaEE开发框架SSM 008Mybatis(二)

这样,我们在配置数据源的时候就可以使用了:

JavaEE开发框架SSM 008Mybatis(二)

 

2. settings

常常用于配置二级缓存,延迟加载等等。

JavaEE开发框架SSM 008Mybatis(二)JavaEE开发框架SSM 008Mybatis(二)

只是少数需要了解

JavaEE开发框架SSM 008Mybatis(二)

 

3. typeAliases

别名,通常我习惯用全量名称。就是给全量名称一个简称。

JavaEE开发框架SSM 008Mybatis(二)

也可以在其他地方进行配置,导入到本配置文件:

JavaEE开发框架SSM 008Mybatis(二)

 

4. typeHandler

通常情况下不需要配置,对于某些类型转换,需要使用。

系统给的类型转换器:

JavaEE开发框架SSM 008Mybatis(二)JavaEE开发框架SSM 008Mybatis(二)

当需要手动转换的时候,需要通过实现TypeHandler接口或者继承BaseTypeHandler类进行实现。并且需要注册:

 

注册一个类型处理器:

JavaEE开发框架SSM 008Mybatis(二)

或者包扫描:

JavaEE开发框架SSM 008Mybatis(二)

 

5. objectFactory

不经常使用。

自定义objectFactory需要实现ObjectFactory接口或者继承DefaultObjectFactory类:

JavaEE开发框架SSM 008Mybatis(二)

在配置文件中注册:

JavaEE开发框架SSM 008Mybatis(二)

 

6. plugins

Mybatis循序已经映射的语句执行过程中进行拦截调用,需要使用插件来实现。

 

7. environments

主要对数据源进行配置。

JavaEE开发框架SSM 008Mybatis(二)

default配置的是默认数据源。

transactionManager配置的是事务管理相关,datasource配置数据源

 

POOLED数据库连接池属于一种较为流行的配置方法。其他配置信息如下:

JavaEE开发框架SSM 008Mybatis(二)

 

JNDI在EJB或者应用服务器使用。

JavaEE开发框架SSM 008Mybatis(二)

 

8. mappers

主要用于引入外部mapper文件

JavaEE开发框架SSM 008Mybatis(二)

 

相关文章:

  • 2021-04-24
  • 2021-12-23
  • 2022-03-01
  • 2021-03-30
  • 2021-09-07
  • 2022-12-23
  • 2021-08-20
  • 2021-05-24
猜你喜欢
  • 2021-09-17
  • 2021-10-27
  • 2021-08-10
  • 2021-06-21
  • 2021-04-07
  • 2021-08-02
  • 2021-09-25
相关资源
相似解决方案