Web持久层框架--MyBatis

java的互联网应用可以通过MyBatis框架访问数据库。

概念:

     持久层以及常用框架:持久层框架作用是将业务数据存储到磁盘,具备长期存储的能力,只要不是磁盘损坏、断电或者其他情况下,重新开启系统,可以读取数据。通常执行持久化任务的都是数据库系统,特点是具有巨大的磁盘空间,缺点是比较慢。在互联网秒杀场景下,每秒执行成千上万次的访问,慢可能导致宕机,在这样的场景下 可以考虑使用缓存Redis(NoSQL)内存数据库。

     数据库:关系数据库和内关系数据库NOSQL,

     缓存以及常用缓存:内存数据库,Redis和Memcache,Redis具备持久化的功能

Mybatis的最大亮点:

1、不屏蔽SQL,可以使用SQL语句,提高性能

2、提供强大、灵活的映射机制,可以动态的组装SQL

3、提供使用了Mapper接口,需要一个借口和XML文件就能创建映射器,使开发者更加关注于业务逻辑开发。

 

Mybatis的核心组件:

      SqlSessionFactoryBuilder:构造器,根据配置或者代码生成SqlSessionFactory,采用的分布构建Builder。

      SqlSessionFactory:工厂接口,生成SqlSession对象

      SqlSession:会话,一个可以直接执行SQL,换可以获取Mapper接口*(推荐使用)

      Mapper:映射器,由一个java接口和XML文件构成

SqlSessionFactory工厂接口的创建,单例,实现类(SqlsessionManager(多线程环境)、DefaultSqlSessionFactory(一般单线程))

1、XML配置方式mybatis-config.xml

     数据库环境配置<environment><datasource>

     映射文件配置<mapper>

     别名配置<typeAlias>

2、Java代码方式(不推荐使用,代码冗余)

SqlSession会话:

    1、获取Mapper接口

    2、发送SQL语句

    3、控制数据库事务

3、Mapper映射,接口和对应的XML文件组成RoleMapper.java和RoleMapper.xml

    描述映射规则

    提供SQL语句

    配置缓存

    提供动态SQL

组件的生命周期

1、SqlSessionFactoryBuilder:创建SqlSessionfactory之后失去作用,删除

2、SqlSessionFactory:相当于数据库连接池,设置为单例模式,创建SqlSession连接,和Mybatis的存活时间一样

3、SqlSession:连接对象,它的存活未一次业务请求操作。执行完就关闭,返回给SqlsessionFactory

4、Mapper:存活跟随SqlSession,一次业务请求

实例Demo:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值