注意
通过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级别缓存。
字典数据:常用的数据存入数据库。全局参数比如:系统级别菜单名,字典表
二级缓存没有开启。
配置一些数据。

浙公网安备 33010602011771号