一 动态sql
1. if
<if test="条件">
sql 语句
</if>
当条件成立的时候,会执行sql语句
if (条件){
sql 语句
}
2. choose...when...otherwise...
<choose>
<when test="条件1">
sql语句1
</when>
<when test="条件2">
sql语句2
</when>
<otherwise>
sql语句3
</otherwise>
</choose>和我们java的if...else if ...else格式一样
当条件1成立,那么就不会执行后面的代码
3. where
# 说明
- 标签里边的if 至少有一个成立,就会动态添加一个where,如果都不成立,不添加where
- 第一个if条件成立的,会自动去除连接符and 或者 or
4. set
说明: 动态添加了set字段,也会动态的去掉最后一个逗号
5. foreach
- 说明: 适用于 id in (x,x,x)
- 格式
```xml
循环遍历标签。适用于多个参数或者的关系。
<foreach collection=“”open=“”close=“”item=“”separator=“”>
获取参数
</foreach>
```- 案例
6. trim
格式 pre- presay
格式 <trim prefix=前缀'' prefixoverrides=''
suffix=后缀'' suffixoverrides=''>
7. Sql片段
格式
<sql id="别名">
查询的所有字段
</sql>使用的时候 <include refid="别名"/>
二 分页
分页的使用步骤
1 导入maven依赖
2 mybatis配置文件中指定方言
3 java代码测试
三 mybatis多表查询
1 一对一
2 一对多
3 多对多
# 步骤
- 建表 user 和 card
- 创建实体类
- 配置文件
- 测试
标签介绍
<resultMap>:配置数据库库字段和Java对象属性的映射关系标签。
id 属性:唯一标识
type 属性:实体对象类型
<id>:配置主键映射关系标签。
<result>:配置非主键映射关系标签。
column 属性:表中字段名称
property 属性: 实体对象变量名称
<association>:配置被包含对象的映射关系标签。
property 属性:被包含对象的变量名
javaType 属性:被包含对象的数据类型