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 @   Peter.Jones  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
历史上的今天:
2020-05-21 Mysql批量插入数据性能问题
点击右上角即可分享
微信分享提示