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 也可以使用第三方分布式缓存
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
2020-05-21 Mysql批量插入数据性能问题