Mybatis之核心配置文件解析

目录

核心配置文件

环境配置(environments)

属性(Properties)

类型别名(typeAliases)

设置(Settings)

※映射器(mappers)

SqlSession的原理与使用


 

核心配置文件

 

mybatis-config.xml ,下面只讲常用的

 

 

环境配置(environments)

 

Mybatis可以配置成适应多种环境,不过要记住,使用时只能使用其中的一套(有deafult的那套)

Mybatis中默认的事务管理器是JDBC,连接池是POOLED

事务管理器除了JDBC还有MANAGED(用于传统EJB项目),连接池当然也可以设置成UNPOOLED

 

 

属性(Properties)


 

我们可以通过properties来引用配置文件,这些属性都是可外部配置可动态替换的。

一种方案是单独定义一个db.properties配置文件,然后在项目默认配置文件中引用之

注意:引用时xml规定了标签的顺序,<properties>标签必须在configuration标签紧下面,否则报错。

 

也可以在项目默认的xml配置文件中以<properties>标签的形式存在

如果外部配置文件中写了用户名密码,你又以标签的形式在主配置文件中又写了一遍用户名密码,mybatis会优先采用外部配置文件里的信息。

 

 

类型别名(typeAliases)

 

在mapper.xml文件中,我们的每条sql都要标注实体类路径名,如果这名字太长,这样是不是太麻烦了

 我们有三种方式可以简化类型别名

  • 1.在主配置文件中给实体类起别名

注意书写位置一定要写在<properties>标签和<settings>标签之后,否则报错 

 

  • 2.也可以在typeAliases标签中只写包名,具体类名放在mapper中写

  • 3.在第二中方案的基础上,通过给实体类添加Aliases注解的方式

前提是一定要在配置文件中指定是扫描包,然后你给实体类加注解时,起名就可以随意起了

 

 

设置(Settings)

 

这是Mybatis中极为重要的调整设置,它们会改变Mybatis的运行时行为

 

 

※映射器(mappers)

 

映射器起到把我们自定义的mapper.xml注册到主配置文件中,供mybatis识别的作用。 

有以下几种方式,推荐使用第一种

  • resources
<!--每一个Mapper.XML都需要在Mybatis核心配置文件中注册!-->
<mappers>
    <mapper resource="com/kuang/dao/UserMapper.xml"/>
</mappers>
  • class

 使用这种方式:接口和他的Mapper配置文件必须同名!接口和他的Mapper配置文件必须在同一个包下!

<!--每一个Mapper.XML都需要在Mybatis核心配置文件中注册!-->
<mappers>
    <mapper class="com.kuang.dao.UserMapper"/>
</mappers>
  • package
使用这种方式:接口和他的Mapper配置文件必须同名!接口和他的Mapper配置文件必须在同一包下!
 
<!--每一个Mapper.XML都需要在Mybatis核心配置文件中注册!-->
<mappers>
    <package name="com.kuang.dao"/>
</mappers>
  • url

 

 

SqlSession的原理与使用

 

mybatis执行图解

 

这里面的核心就是Builder、Factory、和SqlSession。我们讲解一下

  • SqlSessionFactoryBuilder

就是用来创建SqlSessionFactory的,所以这东西的作用域为局部变量

  • SqlSessionFactory

可以把它理解为数据库连接池,这个工厂一经创建后,在应用程序运行期间一直存在,因此最佳作用域是应用作用域,通过单例模式或静态单例模式使用

  • SqlSession

连接池中的一条条请求,由于SqlSession存在并发性,因此线程不安全,不能被共享,所以最佳作用域是请求或方法作用域,用完之后马上关闭,防止资源占用出现并发问题

 

可以对比理解一下~

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值