ToB企服应用市场:ToB评测及商务社交产业平台

标题: Mybatis基础知识大全!!! [打印本页]

作者: 慢吞云雾缓吐愁    时间: 2022-9-3 03:19
标题: Mybatis基础知识大全!!!
目录

1.<properties resource="db.properties"> </properties>简介

1.1什么是Mybatis

1.2<properties resource="db.properties"> </properties>如何获得Mybatis

1.3<properties resource="db.properties"> </properties>使用Mybatis的好处:

2.初涉Mybatis

2.1环境搭建

2.2、创建一个模块(项目)

2.3、使用Mybatis的三个重要类

3.Mybatis的CRUD简单实现

3.1、通过id查找用户:

3.2、插入用户:

3.3、根据id更改用户名字:

3.4、<properties resource="db.properties"> </properties>根据id删除用户:

3.5、好用的Map

当接口中传递的对象有多个的时候,除了可以使用·@Param()注解之外,我们常常使用一个不算规范但是特别好用的方式,那就是传递Map
总结:
3.6、模糊查询

4.配置解析

MyBatis<properties resource="db.properties"> </properties>的配置文件包含了会深深影响<properties resource="db.properties"> </properties>MyBatis<properties resource="db.properties"> </properties>行为的设置和属性信息。<properties resource="db.properties"> </properties>配置文档的顶层结构如下:
4.1、environments<properties resource="db.properties"> </properties>环境配置

MyBatis<properties resource="db.properties"> </properties>可以配置成适应多种环境,不过要记住:尽管可以配置多个环境,但每个<properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties>SqlSessionFactory<properties resource="db.properties"> </properties>实例只能选择一种环境。
environments<properties resource="db.properties"> </properties>元素定义了如何配置环境。
  1. <environments<properties resource="db.properties"> </properties>default="development">
  2. <properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><environment<properties resource="db.properties"> </properties>id="development">
  3. <properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><transactionManager<properties resource="db.properties"> </properties>type="JDBC">
  4. <properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><property<properties resource="db.properties"> </properties>name="..."<properties resource="db.properties"> </properties>value="..."/>
  5. <properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties></transactionManager>
  6. <properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><dataSource<properties resource="db.properties"> </properties>type="POOLED">
  7. <properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><property<properties resource="db.properties"> </properties>name="driver"<properties resource="db.properties"> </properties>value="${driver}"/>
  8. <properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><property<properties resource="db.properties"> </properties>name="url"<properties resource="db.properties"> </properties>value="${url}"/>
  9. <properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><property<properties resource="db.properties"> </properties>name="username"<properties resource="db.properties"> </properties>value="${username}"/>
  10. <properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><property<properties resource="db.properties"> </properties>name="password"<properties resource="db.properties"> </properties>value="${password}"/>
  11. <properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties></dataSource>
  12. <properties resource="db.properties"> </properties><properties resource="db.properties"> </properties></environment>
  13. <properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties>
  14. <properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties>
  15. <properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><environment<properties resource="db.properties"> </properties>id="test">
  16. <properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties></environment>
  17. </environments>
复制代码
注意点:
4.2、properties(属性)

可以从外部的资源环境读取,也可以在内部定义,可以动态的替换环境中的配置信息
设置好的属性可以动态替换:
  1. <properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties>
复制代码
注:如果同时使用了外部资源文件和内部定义的方式那么会使用外部资源文件。
4.3、typeAliases(类型别名)

类型别名可为<properties resource="db.properties"> </properties>Java<properties resource="db.properties"> </properties>类型设置一个缩写名字,降低冗余的全限定类名书写
总结:两种方式各有优劣,当类比较少的时候可以使用第一种方式,当类比较多的时候可以使用第二种方式,如果想在使用第二种方式的同时给特点的类设定指定名字,可以使用注解的方式,且如果同时使用了第一种方式和第二种方式那么使用两个别名都正确。
  1. @Alias("author")public<properties resource="db.properties"> </properties>class<properties resource="db.properties"> </properties>Author<properties resource="db.properties"> </properties>{}
复制代码
4.4、settings(设置)

1.常用的一些设置:
设置名描述有效值默认值cacheEnabled全局性地开启或关闭所有映射器配置文件中已配置的任何缓存。true<properties resource="db.properties"> </properties>|<properties resource="db.properties"> </properties>falsetruelazyLoadingEnabled延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。<properties resource="db.properties"> </properties>特定关联关系中可通过设置<properties resource="db.properties"> </properties>fetchType<properties resource="db.properties"> </properties>属性来覆盖该项的开关状态。true<properties resource="db.properties"> </properties>|<properties resource="db.properties"> </properties>falsefalseuseGeneratedKeys允许<properties resource="db.properties"> </properties>JDBC<properties resource="db.properties"> </properties>支持自动生成主键,需要数据库驱动支持。如果设置为<properties resource="db.properties"> </properties>true,将强制使用自动生成主键。尽管一些数据库驱动不支持此特性,但仍可正常工作(如<properties resource="db.properties"> </properties>Derby)。true<properties resource="db.properties"> </properties>|<properties resource="db.properties"> </properties>falseFalsemapUnderscoreToCamelCase是否开启驼峰命名自动映射,即从经典数据库列名<properties resource="db.properties"> </properties>A_COLUMN<properties resource="db.properties"> </properties>映射到经典<properties resource="db.properties"> </properties>Java<properties resource="db.properties"> </properties>属性名<properties resource="db.properties"> </properties>aColumn。true<properties resource="db.properties"> </properties>|<properties resource="db.properties"> </properties>falseFalselogImpl指定<properties resource="db.properties"> </properties>MyBatis<properties resource="db.properties"> </properties>所用日志的具体实现,未指定时将自动查找。SLF4J<properties resource="db.properties"> </properties>|<properties resource="db.properties"> </properties>LOG4J<properties resource="db.properties"> </properties>|<properties resource="db.properties"> </properties>LOG4J2<properties resource="db.properties"> </properties>|<properties resource="db.properties"> </properties>JDK_LOGGING<properties resource="db.properties"> </properties>|<properties resource="db.properties"> </properties>COMMONS_LOGGING<properties resource="db.properties"> </properties>|<properties resource="db.properties"> </properties>STDOUT_LOGGING<properties resource="db.properties"> </properties>|<properties resource="db.properties"> </properties>NO_LOGGING未设置日志:
4.5、mappers(映射器)

4.6、其他(暂时了解)

5.拓展:当属性名和列名不一致

假设存在一个数据库user表,字段如下:

一个User实体类如下:
  1. public<properties resource="db.properties"> </properties>class<properties resource="db.properties"> </properties>User<properties resource="db.properties"> </properties>{<properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties>private<properties resource="db.properties"> </properties>int<properties resource="db.properties"> </properties>id;<properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties>private<properties resource="db.properties"> </properties>String<properties resource="db.properties"> </properties>username;<properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties>private<properties resource="db.properties"> </properties>String<properties resource="db.properties"> </properties>password;<properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties>}
复制代码
那么当查询结果集为User类型的时候,会出现姓名为空的问题。
解决方式:
6.日志

6.1、日志工厂

6.2、Log4j

7.分页

思考:为什么要分页
7.1、<properties resource="db.properties"> </properties>limit分页:
  1. select<properties resource="db.properties"> </properties>*<properties resource="db.properties"> </properties>from<properties resource="db.properties"> </properties>user<properties resource="db.properties"> </properties>limit<properties resource="db.properties"> </properties>startIndex,pagesize;select<properties resource="db.properties"> </properties>*from<properties resource="db.properties"> </properties>user<properties resource="db.properties"> </properties>limit<properties resource="db.properties"> </properties>pagesize;<properties resource="db.properties"> </properties>--<properties resource="db.properties"> </properties>当只有一个参数的时候,从第一个数据开始
复制代码
7.2、<properties resource="db.properties"> </properties>RowBounds分页(不推荐使用)

7.3、分页插件

使用PageHelper分页插件,https://pagehelper.github.io/,了解一下即可,如有需要再看使用文档。
8.注解开发

使用建议:除非是很简单的操作,否则尽量建议使用xml方式完成,一般而言我们都会使用xml。
8.1、常用的注解

8.2、使用注解开发

本质:反射机制实现
底层:动态代理
8.3、关于#{}和${}的比较

8.4、当注解开发和xml开发同时使用

注:虽然注解和xml配置文件可以同时使用,但是如果在接口中的同一个方法上既使用了注解,有在xml文件中进行了配置,也就是对同一个方法同时使用了注解配置文件两种方式,那么程序会报错。
9.Lombok

Lombok项目是一个java库,它可以自动插入到编辑器和构建工具中,增强java的性能。不需要再写getter、setter或equals方法,只要有一个注解,你的类就有一个功能齐全的构建器、自动记录变量等等.
注:缺点:无法承载有各种参数的构造函数,但是我们可以手动的去添加。
10.复杂查询

10.1、模拟场景环境搭建

10.2、多对一实际应用:关联

比如多个学生对应一个老师,就是多对一
实体类如下:
  1. @Datapublic<properties resource="db.properties"> </properties>class<properties resource="db.properties"> </properties>Student<properties resource="db.properties"> </properties>{<properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties>private<properties resource="db.properties"> </properties>int<properties resource="db.properties"> </properties>id;<properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties>private<properties resource="db.properties"> </properties>String<properties resource="db.properties"> </properties>name;<properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties>private<properties resource="db.properties"> </properties>Teacher<properties resource="db.properties"> </properties>teacher;//多个学生一个老师}@Datapublic<properties resource="db.properties"> </properties>class<properties resource="db.properties"> </properties>Teacher<properties resource="db.properties"> </properties>{<properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties>private<properties resource="db.properties"> </properties>int<properties resource="db.properties"> </properties>id;<properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties>private<properties resource="db.properties"> </properties>String<properties resource="db.properties"> </properties>name;}
复制代码
实现关键:association
10.2.1、嵌套查询
  1. <properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties>select<properties resource="db.properties"> </properties>*<properties resource="db.properties"> </properties>from<properties resource="db.properties"> </properties>student<properties resource="db.properties"> </properties>;<properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties>select<properties resource="db.properties"> </properties>*<properties resource="db.properties"> </properties>from<properties resource="db.properties"> </properties>teacher<properties resource="db.properties"> </properties>where<properties resource="db.properties"> </properties>id=#{id}<properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties>and<properties resource="db.properties"> </properties>views>#{views}<properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties>
复制代码
注:第一个where条件后面加一个1=1是为了方便后面的每一个判断条件追加sql的第一个能写and
11.3.2、choose<properties resource="db.properties"> </properties>(when,<properties resource="db.properties"> </properties>otherwise)

  1. <properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties>select<properties resource="db.properties"> </properties>*<properties resource="db.properties"> </properties>from<properties resource="db.properties"> </properties>blog<properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties>id=#{id}<properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties>and<properties resource="db.properties"> </properties>title<properties resource="db.properties"> </properties>=#{title}<properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties>and<properties resource="db.properties"> </properties>author<properties resource="db.properties"> </properties>=#{author}<properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties>and<properties resource="db.properties"> </properties>views>#{views}<properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties>
复制代码
11.3.3、trim<properties resource="db.properties"> </properties>(where,<properties resource="db.properties"> </properties>set)

11.3.4、foreach

11.3.6、小结

动态sql本质上就是拼接sql语句
建议:
11.3.5、sql片段

sql片段的作用就是可以将一部分sql代码抽取出来,然后可以对他进行一个复用。
  1. <properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties>select<properties resource="db.properties"> </properties>*<properties resource="db.properties"> </properties>from<properties resource="db.properties"> </properties>blog<properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties>id=#{id}<properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties>and<properties resource="db.properties"> </properties>title<properties resource="db.properties"> </properties>=#{title}<properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties>and<properties resource="db.properties"> </properties>author<properties resource="db.properties"> </properties>=#{author}<properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties><properties resource="db.properties"> </properties>
复制代码
注意事项:
12.Mybatis缓存

12.1、简介

12.2、Mybatis缓存

mybatis本身有两种缓存,分别为一级缓存和二级缓存
12.3、一级缓存

测试步骤:
缓存失效的情况:
小结:一级缓存是默认开启的,也关闭不掉,只能手动清理或者设置,一级缓存其实就相当于一个Map
12.4、二级缓存

测试步骤:
小结:
12.5、缓存原理


12.6、自定义缓存(了解)

注:一般可以采用redis来做缓存!!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4