关于mybatis强化(上)

mapper接口

mapper接口定义规范

1.接口名必须和mapper映射文件名一致

例子:接口:UserMapper == UserMapper.xml

2.接口包名和映射文件路径一致

Cn.wolfcode.mapper.UserMapper cn.wolfcode.mapper.UserMapper.xml

3.接口中定义的方法与dao接口一致

执行原理

将mapper接口和mapper映射文件定义在同名的文件夹下

mapper接口定义在src/main/java下

mapper映射文件定义在src/main/resources下

优点

简化项目结构

保证参数传递的安全性

Mybatis框架参数处理

用mybatis框架创建mapper接口解析mapper映射文件;

自定义的参数名mybatis框架不识别,无法解析,mybatis提供了arg1,

arg2或者param1或param2组合完成使用

在mybatis3.x版本提出了在mapper接口中方法参数上贴上指定注解完成参数传递 @param(“参数名”)

Mybatis框架中#{},${}在mapper文件中传参的区别

${}默认获取的是db.properties的值

通过@param注解解决该问题

#{}和¥{}之间的区别

#{}编写的参数名通过对应的get方法,获取值,并在sql语句中使用引号拼接,适用于传递参数

¥{}编写的参数名,到指定表中查询指定名字列,将列名作为参数拼接到sql语句中,适用于ORDER BY 或者GROUP BY语句中传递参数操作,通过key-value的形式获取value

动态SQL标签

<where>标签

<if test=”判断条件”>

判断内容SQL语句

<if>

<where>

2 SET标签

当执行修改操作,如果传递新的值,使用新的值修改原有值,如果没有新的值,则依然使用原有值显示,在UPDATE中使用

<set>

<if test=”判断条件”>

判断内容

<if>

<set>

foreach标签

实际开发中用于批量删除(常用)/添加/修改

<foreach

collection=””open=”” item=””separator=””close=””>

1,表示存储传递参数的集合/数组名@param注解中定义的名

  1. IN函数开始的符号“(”
  2. 当前参数获取的指定类对象
  3. 多个参数的分割符号
  4. IN函数结束的符号“)”

表与表之间的关系

关联关系

一对一:单向,双向

一对多或多对一

多对多

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值