java-三十九天---mybatis

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时要对<进行特殊处理:

  1. 字符串替换  2.CDATA区

1字符串替换

编写接口

测试代码

2 使用CDATA

CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data)。

CDATA 部分由 "<![CDATA[" 开始,由 "]]>" 结束

CDATA 部分中的所有内容都会被解析器忽略。

12   ResultMap基本应用

 resultMap基本应用解决的是数据库中表的列名和实体类的属性名不一致,导致查询结果的数据无法完成映射的问题。

13   mapper接口+注解方式(了解)

14   缓存

  缓存目的是为了减少对数据库的访问次数,提升数据库的执行效率

  mybatis缓存机制包括:1.一级缓存 2.二级缓存

  1. 一级缓存

        一级缓存也叫sqlSession级别的缓存 ,也就是在同一个sqlSession内执行两次多次相同结果的查询语句,只会在第一次时发        出sql查询数据库的数据,然后之后每次从一级缓存中查询数据返回

 

二级缓存

是mapper级别的缓存,也就是多个sqlSession之间可以实现数据的共享。

二级缓存默认是不开启,所以在使用二级缓存时需要在做以下配置

  1. 在mybatis-config.xml文件中开启二级缓存
  1. 在mapper.xml文件中开启二级缓存
  2. 1.让entity实现Serializable接口

注意:1 当执行insert、delete、update时清除二级缓存,因为一级缓存都不存在了,何来二级缓存。2 当没有session.close()时,没有二级缓存,因为压根没有写入,

3 ,没有开启相关配置文件,没有二级缓存,因为其默认是关闭的

15 提示键

16 逆向工程

发布了78 篇原创文章 · 获赞 83 · 访问量 9295

猜你喜欢

转载自blog.csdn.net/weixin_41847891/article/details/89313206