MyBatis

MyBatis是一个java数据持久层框架,通过将sql语句与java对象的映射配置在xml文件中,实现了简化数据库操作的功能,使得开发者更方便的对数据库进行操作.

常用标签:

<select> 查询语句
<insert> 插入语句
<update> 更新语句
<delete> 删除语句
<resultMap> 定义结果集与java对象之间的映射关系
<result> 配置普通属性的映射规则   column 结果集中的列  property  java对象的属性 
<id> 配置主键映射规则
<association> 配置关联对象的关系,  指定查询结果中一对一关联关系
<collection> 配置集合属性的映射关系, 指定查询结果中一对多的关联关系
​
动态sql
根据不同条件生成对应的sql语句
<id> 一般用来判断参数是否为空,防止空指针异常
<trim> 一般用来修剪sql片段的开头或结尾的指定字符 
<foreach>  一般用于sql查询中集合迭代,并动态生成多个sql片段,可以在 IN 子句中使用 <foreach> 元素来动态生成多个参数。

mybatis缓存机制:用于应用程序和数据库之间缓存数据,以提高查询性能, 只要分为两个类型: 本地缓存和二级缓存

本地缓存:

mybatis本地缓存是默认开启的,指在同一个sqlSession中,对相同的查询进行缓存

当执行相同查询时,mybatis会将查询结果缓存到内存中,下次查询时,会直接上缓存中获取数据,而不会去数据库中执行查询操作

本地缓存是sqlsession级别,只在当前会话中有效,会话失效,本地缓存也会被清空

二级缓存:

mybatis二级缓存是一种跨sqlSession的缓存,可以将共享数据给统一个命名空间下的不同sqlSession

当开启二级缓存后,查询结果会被缓存到二级缓存中,同一个命名空间下的不同sqlSession可以共享缓存数据

二级缓存默认是关闭的,需要在mybatis配置文件中进行配置开启

${}和#{}都是用来传参的

${}是字符串替换的方式在sql语句中,{}会直接替换成参数的值,不会进行预编译处理

#{}是预编译的方式,#{}会被替换成一个占位符(?) 可以防止依赖注入,提高安全性 因此我们大多用#{}

  • 8
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值