Mybatis源码分析

 

 代理模式

 

List<User> findByNameAndAge(@Param("name") String name, @Param("age") Integer age);

<!--
    多个基本类型作为参数:
     方式1: arg*   : arg0,   arg1     数字代表索引下标  parameterType="list"
     方式2: param* : param1, param2   数字代表第几个    parameterType="list"
     方式3: @Param(别名)  mybatis封装成了map            parameterType="map"  
     注:使用了方式3别名后,方式1无法使用,方式2可以使用
    -->
    <select id="findByNameAndAge" resultType="user" parameterType="map">
        select * from t_user where name=#{name} and age=#{age}
    </select>

动态sql

https://mybatis.org/mybatis-3/zh/dynamic-sql.html

<where>
  <chossse>
     <when>

<if>

when和if的区别是 : when只选择其中一个,if支持多个

缓存

1级别缓存不需要实现Serializable

2级别缓存需要实现Serializable    也可以使用第三方分布式缓存 

 

 

posted @ 2023-05-21 21:00  Peter.Jones  阅读(11)  评论(0)    收藏  举报