MyBatis二---SQL映射文件

目录

SQL映射文件

        1、主要元素

        2、参数传递

        3、结果映射

        4、增删改

        5、MyBatis缓存


SQL映射文件

        1、主要元素

                mapper:SQL映射文件的根元素,有一个namespace属性

                cache:配置给定命名空间的缓存

                cache-ref:从其他命名空间引用缓存配置

                resultMap:用来描述数据库结果集和对象的对应关系

                sql:可以重用的SQL块,也可以被其他语句引用

                inserrt:映射插入语句

                delete:映射删除语句

                update:映射更新语句

                select:映射查询语句

        2、参数传递

                参数传递有三种方法

                        1、将查询条件封装成Java对象作为入参 

                        2、将查询条件封装成Map对象作为入参

                        3、使用@Param注解实现多参数入参

        3、结果映射

                使用resultMap元素定义结果映射,对名称不同地结果集字段和实体类属性进行映射

                resultMap元素包含以下属性

                        1、id:resultMap的唯一标识

                        2、type映射的结果类型

                resultMap元素的子元素

                        1、id:指定和数据表主键字段对应的标识属性

                        2、result:指定和数据表主键字段对应的标识属性

                        3、association:映射 "多对一" 或 "一对一" 关系

                                属性:

                                        property:用来映射查询结果子集实体属性

                                        javaType:完整Java类名或者别名

                                        resultMap:引用外部resultMap

                        4、collection:映射 "一对多" 关系

                                属性:

                                        property:实体类中用来映射查询结果子集的集合属性

                                        ofType:集合中元素的类型,完整Java类名或者别名

                                        resultMap:引用外部resultMap

                resultType与resultMap

                        resultType:

                                1、直接表示返回类型

                                2、适用于比较简单直接的数据封装场景

                        resultMap:

                                1、是外部resultMap引用

                                2、能够处理结果集字段名与实体类属性名不一致、或者需要对连接查询结果使用嵌套映射等较为复杂的问题

                二者本质上都是Map,但不能同时使用!

                MyBatis自动映射

                        1、自动映射的前提:属性字段名一致

                        2、自动映射级别:autoMappingBehavior

<settings>
	<setting  name="autoMappingBehavior" 
			   value="[ NONE | PARTIAL | FULL ]" />
</settings>

       

        4、增删改  

                增删改(insert、updatedelete)这类操作通常返回影响行数

                insert、updatedelete元素均没有resultType/resultMap属性

        5、MyBatis缓存

                一级缓存

                二级缓存

                     配置:

                                MyBatis的全局cache配置

<settings>
    <setting name="cacheEnabled" value="true" />
</settings>

                                在SQL映射文件中设置缓存,默认情况下是没有开启缓存的

<cache eviction="FIFO" flushInterval="60000" 
        size="512" readOnly="true" />

                                在SQL映射文件配置支持cache后,如果需要对个别查询进行调整,可以单独设置

<select id="selectAll" resultType="SysUser" 
        useCache="true">

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值