基本操作
- id属性 必须与方法名称一致
- resulttype:返回值的pojo类型
- mybatis取值语法: #{属性名},用户在执行"更新"操作时,自动的返回影响的行数
- #{key}根据map中key获取value的数据
- xml文件转义
- 大于 >;
- 小于 <;
- ?与 &;
- 转义标签 <![CDATA[需要转义的内容]>
- 单值传参(数字,字符串,对象)
- 多值转为单值,首map集合
- @param() 参数类型 参数名字 :将参数封装为map
- "%"#{参数名称}“%”
- <typeAliasses> <typeAlias type=数据对象的路径,alias;当前的对象起的别名>
- 别名包<package>
- 简化sql查询:
?<!--说明: ? ? ? ? 1.如果配置了别名包: 则映射时会自动的拼接包路径 ? ? ? ? 2. include refid="引用SqlID"表示是别名,可以在另一句sql标签里写 ? ? ?--> ? ? <select id="findUser" resultType="User"> ? ? ? ? select <include refid="user_cloumn"/> ?from demo_user ? ? </select>
? ? <!--2.简化Sql--> ? ? <sql id="user_cloumn"> ? ? ? ? id,name,age,sex ? ? </sql>
- ?@BeforeEach 当每次执行@Test注解方法时,都会先执行该方法.
集合的操作
- 数据为数组,集合参数传递需要集合遍历 ,foreach循环遍历集合
- 标签属性:collection :遍历的集合类型
1.1 数组 关键字 array
1.2 List集合 关键字 list
1.3 Map集合 关键字 Map中的key
open 循环开始标签
close 循环结束标签 包裹循环体
3. separator 分割符
4. item 当前循环遍历的数据的变量
?动态sql:判断条件
自动判断,不是不参加sql
动态Sql规则: ? ? ? ? ? ? 1. ?<if test="写判断条件,可以直接获取属性值"></if> ? ? ? ? ? ? ? ? ? ? true: 会拼接 字段条件 ? ? ? ? ? ? ? ? ? ? false: 不会拼接字段条件 ? ? ? ? ? ? 2. 多余的关键字 ? ? ? ? ? ? ? ? 由于动态sql拼接必然会导致多余的and 或者 or ? ? ? ? ? ? 3. where标签说明 可以去除 where后边多余的and 或者 or
? ? ? ? ? ? ?4.set标签说明 可以去除多余的,号?
?分支结构 where-choose-when-othewise
只需要一个条件偶像,使用分支结构
- ?resultMap: 功能: 如果发现表中的字段与属性名称不一致时,使用resultMap映射
- 一对一:结果集不允许出现重名字段
?出现1.主键字段的映射 column :表中的属性
result 映射其他属性
?一对多(一个部门有多个属性)
<collection >封装集合 oftype是指表的名字
子查询
?
|