1 模糊查询 查询商品名称包含o的商品信息
编写sql
编写接口
第一种测试代码
第二种测试代码
2 #{}与${}的区别
#{}解决了sql注入 ${}存在sql注入
3 动态sql
动态sql:根据不同条件执行产生不同的结构的sql语句,这种变化的sql语句叫动态sql。sql主要包括:if判断 choonsewhen分支、循环foreach、where set trim。
根据商品名称查询已上架商品信息,商品名称是可选的
编写接口
测试代码
4 查询已上架的商品信息,当名称不为不空根据名称查询,当编号不为空时根据编号查询,其他情况查询商品数量>=10的商品信息。
编写接口
测试代码
5 批量删除id是17 18 19的商品信息
编写接口
测试代码
6 根据名称和编号查询商品信息商品名称和商品编号都是可选的。
编写接口
测试代码
7 修改id是16的商品信息的name和code,name和code是可选的
编写接口
测试代码
8 trim
编写接口
测试代码
9 sql块
语法:<sql> </sql>
作用:用来定义通用的或者是可重复使用的sql语句片段
10 分页查询
编写接口
测试代码
11 特殊字符处理
在xml文件中<会被xml文件解析器认为是一个标签的开始,因此我们在编写sql时要对<进行特殊处理:
- 字符串替换 2.CDATA区
1字符串替换
编写接口
测试代码
2 使用CDATA
CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data)。
CDATA 部分由 "<![CDATA[" 开始,由 "]]>" 结束。
CDATA 部分中的所有内容都会被解析器忽略。
12 ResultMap基本应用
resultMap基本应用解决的是数据库中表的列名和实体类的属性名不一致,导致查询结果的数据无法完成映射的问题。
13 mapper接口+注解方式(了解)
14 缓存
缓存目的是为了减少对数据库的访问次数,提升数据库的执行效率。
mybatis缓存机制包括:1.一级缓存 2.二级缓存
-
一级缓存
一级缓存也叫sqlSession级别的缓存 ,也就是在同一个sqlSession内执行两次多次相同结果的查询语句,只会在第一次时发 出sql查询数据库的数据,然后之后每次从一级缓存中查询数据返回。
二级缓存
是mapper级别的缓存,也就是多个sqlSession之间可以实现数据的共享。
二级缓存默认是不开启,所以在使用二级缓存时需要在做以下配置:
- 在mybatis-config.xml文件中开启二级缓存
- 在mapper.xml文件中开启二级缓存
-
1.让entity实现Serializable接口