注意

通过java代码提供了动态标签 通过标签配置生成对应的2动态sql语句

1.查询场景

根据用户查询场景不同

生成不同配置

in  确定的数据 不能用子查询 效率极低  数据量不能太大

50条以内

1000条开线程,注以标号

in  用string时  注意‘’

${}硬拼接 容易sql注入  

#{}当字符串 执行不了

动态查询多条  

foreach 

item 

separator 

open

if test

include refid

通过@param封装指定的key

多条删除通过foreach 和 动态标签

与一次查询几个场景类似

动态插入 添加场景

c从文件批量导入

集合使用

批量添加

<insert id="addUserByUserList">
insert into user(username,password,age) values
<foreach collection="addUserList" item="user" separator=",">
(#{user.username},#{user.password},#{user.age})
</foreach>

</insert>
动态修改语句
一个sql多个业务使用
<!--where替换前面AND SET替换后面and 页面不填把数据清掉-->

mybatis缓存,如果数据查询,mybatis缓存查询数据库时,查询相同的数据,会自动存入缓存,不多次查询数据库。

一级缓存,sqlsession级别缓存,一个sqlsession对应中生效。

在一次事务控制中 如过使用了相同的数据 直接从缓存加载。

长期保存:跨sqlsession级别缓存。

字典数据:常用的数据存入数据库。全局参数比如:系统级别菜单名,字典表

二级缓存没有开启。

配置一些数据。

 

posted @   langpo  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
点击右上角即可分享
微信分享提示