MyBatis学习3-构建SqlSessionFactory

每个MyBatis应用以SqlSessionFactory的实例为中心的,SqlSessionFactory的实例可以通过SqlSessionFactoryFactory获得。

SqlSessionFactory是一个工厂接口而不是实现类,它的任务是创建SqlSession

SqlSession类似一个JDBC的Connection对象

SqlSession提供两种模式去创建SqlSessionFactory

  1XML配置方式(推荐,避免 hard code)

  2 代码方式

Configuration类对象存在于整个MyBatis生命周期,以便重复读取和运用

MyBatis中提供两个SqlSessionFactory实现类

  1 DefaultSqlSessionFactory(目前使用)

  2 SqlSessionManager(目前未使用)

 

  1 使用xml方式构建

  一般包含DataSource、TransactionManager、SQL Mapper

  配置映射器,引入XML 用来提供SQL和SQL对POJP的映射规则定义,它包含了映射器里面的信息

  解析程序会将mybatis-config.xml文件配置的信息解析到Configuration类对象里,然后利用SqlSessionFactoryBuilder读取这个对象为我们创建SqlSessionFactory

  2使用代码方式构建

  

 

创建SqlSession

SqlSession是一个接口类,句有门面的作用,起作用的是Executor接口

SqlSession接口类似一个JDBC中Connection接口对象

SqlSession用途主要有两种

  1 获取映射器,让映射器通过命名空间和方法名称找到对应的SQL,发给数据库执行和返回结果

  2 直接通过命名信息去执行SQL返回结果

 

映射器

映射器由java接口和XML文件或注解共同组成

  1定义参数类型

  2描述缓存

  3描述SQL语句

  4定义查询结果和POJO的映射关系

映射器实现方式有两种,xml、通过代码实现

建议使用XML文件实现

  1Java注解是受限的,功能较少,Mapper更加灵活强大

  2动态SQL写在Java文件中可读性较差

  3通过注解也可以完成SQL定义,但是可读性不佳

 

Mapper的实现由Java接口和一个XML文件构成

  Mapper.xml在mybatis-config.xml中配置过,所以MyBatis读取这个配置文件,生成映射器

  定义一个命名空间为com.xx.mapper.xxMapper的SQLMapper,这个命名空间和定义的接口名称一致

  

Java注解方式实现Mapper

如在Mapper interface方法中假如@Select注解(不适合复杂sql)

 

转载于:https://www.cnblogs.com/alloevil/p/10974659.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值