MyBatis学习笔记

本文详细介绍了MyBatis的配置,包括自动驼峰命名、接口参数获取、查询、批量操作、自增主键获取、自定义映射关系、动态SQL及缓存机制。讲解了如何处理分表查询、模糊查询、延迟加载以及动态标签的使用,并提到了缓存的一级和二级缓存策略。
摘要由CSDN通过智能技术生成

配置的问题

开发中Mapper映射文件和实体类POJO会越来越多因此扫描包文件即可

# Mybatis-plus配置
mybatis-plus:
  #配置Mapper映射文件
  mapper-locations: classpath*:/mapper/*Mapper.xml
  # 配置MyBatis数据返回类型别名(默认别名是类名)
  type-aliases-package: com.xxxx.server.pojo
  configuration:
    # 自动驼峰命名
    map-underscore-to-camel-case: false

MP中驼峰命名是默认开启的 true
全局配置驼峰命名map-underscore-to-camel-case
将字段中的emp_name映射成empName

接口参数获取的情况

MyBatis中如果接口是多参数的话 会转化成map 我们通过Key来获取参数
在这里插入图片描述

可以通过@Param(参数名)确保传递的参数作为key
数组类型都加上@Param稳妥

#{}相当于是占位符 ${}相当于字符串拼接 能不用${}就不用 防止sql注入

查询

查询返回一条或多条数据时

  1. 一条时用实体类对象接收或Map接收而Map接收是以字段名为key值为value接收
  2. 多条时用List接收,List<Map>接收可以通过@MapKey设置map集合的Key
    List<map> [1={字段名=value},2={字段名=value}]

分表,动态设置表名
因数据过多需要分表 而表名就需要动态设置用 ${表名}

模糊查询
MySQL可以采用concat(’%’,#{参数名},‘%’)
而Oracle中caoncat只支持2个参数则使用concat(concat(’%’,#{参数名}),‘%’)
还有一种 “%” #{参数名}“%”

批量数据操作

更新或删除操作时传参是一个数组
采用<foreach>对数组进行遍历拆分填入

获取自增主键

useGenerateKeys 设置当前标签中的sql使用了自增的主键
keyProperty 将自增的主键的值赋值给传输到映射文件中参数的某一个属性
在insert标签中使用

        <selectKey order="AFTER" keyProperty="id" resultType="int">
            SELECT LAST_INSERT_ID()
        </selectKey>

自定义映射关系

处理 1对多 多对多的问题
多对一

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值