Mybatis名词解释及概念

因为要考试了,把这些概念问题都梳理一下。

首先,我们学习框架要知道,框架是什么东西。

        框架:是一个应用程序的一部分实现。例如:Spring,spring boot等等。

框架的优势:提高开发效率,提高代码规范性和可维护性,提高软件性能。

        模式:解决一类问题的方法论。例如,单例模式,原型模式,迭代器模式,观察模式等。

        架构:软件体系结构,一种设计方案。比如说,大家熟知的三层架构:MVC。

一.Mybatis

        Mybatis:是一个半自动ROM框架,支持SQL查询,存储,高级映射的持久层框架,可以在实体类和SQL语句之间建立映射关系,对操作数据库的过程进行了封装,消除了原先使用JDBC的冗余。

        JDBC:Java Database Connection 数据库连接,提供了一套数据库操作API包括加载驱动,获取连接,获取执行者对象,发送SQL语句。

        ORM:Object Relational Mapping 对象关系映射。

        ORM的映射是什么映射:对象与关系的映射,对操作的映射,对关联的映射。

  mybatis的工作原理:mybatis-config.xml----------Mapping.xml-----------创建会话工厂-------------创建会话对象--------------创建执行器---------封装映射对象-----------操作数据库-----------输出结果映射

二.mybatis-config.xml

        Mybatis的三个核心对象:SqlSessionFactoryBuilder,SqlSessionFactory,SqlSession

        SqlSessionFactoryBuilder通过build()构造SqlSessionFactory

        SqlSessionFactory使用openSession()创建SqlSession对象

        SqlSession对象:在应用程序与持久层之间执行交互操作,主要作用是执行持久化操作,包含了执行SQL操作的方法。

        UNPLOOLED无连接池类型需要用户负责关闭

        <mapper>标签用来引入mapper文件,主要有四种方式,类路径引入,本地文件引入,接口类引入,包名引入。

三.mapper.xml映射文件

        mapper文件中的常用标签:<mapper><cache><cache-ref><select><update><insert><delete><sql><resultMap>

标签中的属性:

        parameterType:参数类型        resultType:返回类型

动态SQL<if>判断<choose><when><otherwise>例如(switch....catch.....default)<where>条件<trim>去除多余关键字<set>更新<foreach>循环

<if>test属性中的值为判断值

<foreach>属性

        tem:集合中迭代元素的别名

        separator:分隔符

        index:元素的序号

        collection:类型必须指定,迭代类型值为list array map

         open开头符号 close结尾符号 

查询

嵌套查询(子查询)通过执行另外一条SQL映射语句来返回预期的复杂类型

嵌套结果查询(多表查询)使用嵌套结果来处理重复的联合结果的子集

 多对多关联映射Collection property ofType

常用注解:@Select   @Insert @Update  @Delete   @Param(指定参数)

@One一对一查询 @Many一对多查询

@Result映射查询结果可以嵌套,有三个属性property(关联的实体类属性),one(指定关联关系),column(关联数据库表中字段名)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值