Mybatis

#{}和${}的区别是什么?

1)#{}是预编译处理,KaTeX parse error: Expected 'EOF', got '#' at position 23: …换。 2)Mybatis在处理#̲{}时,会将sql中的#{}替…{}时,就是把${}替换成变量的值。
4)使用#{}可以有效的防止SQL注入,提高系统安全性。

resultType 属性可以指定结果集的类型,它支持基本类型和实体类类型。
resultMap

parameterType 一样,如果注册过类型别名的,可以直接使用别名
用户 id 的返回值
select last_insert_id();
动态sql,抽出重复sql

SQL 语句: select 字段 from user where id in (?)
标签用于遍历集合,它的属性: collection:代表要遍历的集合元素,注意编写时不要写#{} open:代表语句的开始部分 close:代表结束部分

在 SqlMapConfig.xml 中配置:

注册指定包下的所有 mapper 接口 如: 注意:此种方法要求 mapper 接口名称和 mapper 映射文件名称相同,且放在同一个目录中

一级缓存:它指的是Mybatis中SqlSession对象的缓存。
sqlSession.close(); sqlSession.clearCache();//此方法也可以清空缓存,更新删除修改,也可

二级缓存:
它指的是Mybatis中SqlSessionFactory对象的缓存。由同一个SqlSessionFactory对象创建的SqlSession共享其缓存。
二级缓存的使用步骤:
第一步:让Mybatis框架支持二级缓存(在SqlMapConfig.xml中配置)
1.
第二步:让当前的映射文件支持二级缓存(在IUserDao.xml中配置)
2.

			第三步:让当前的操作支持二级缓存(在select标签中配置)
			useCache="true"

@Result:实现结果集封装 @Results:可以与@Result 一起使用,封装多个结果集 @ResultMap:实现引用@Results 定义的封装 @One:实现一对一结果集封装 @Many:实现一对多结果集封装 @SelectProvider: 实现动态 SQL 映射 @CacheNamespace:实现注解二级缓存的使用

mybatis 基于注解的二级缓存

@CacheNamespace(blocking=true)//mybatis 基于注解方式实现配置二级缓存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值