MyBatis
toString.
这个作者很懒,什么都没留下…
展开
-
MyBatis实现延迟加载
然后在 mybatis-config.xml 中配置。我的MyBatis版本是3.2.8。首先要安装一个插件,不然会报错。运行结果,实现了延迟加载。原创 2023-08-29 00:19:50 · 34 阅读 · 1 评论 -
MyBatis-Plus 和 MyBatis 的区别
总的来说,MyBatis-Plus在MyBatis的基础上提供了更多的功能和便捷的开发方式,可以减少开发工作量,提高开发效率。但同时,MyBatis-Plus也增加了一定的学习成本,需要熟悉其提供的API和用法。1. CRUD操作简化:MyBatis-Plus提供了BaseMapper接口,通过继承该接口,可以直接使用其中的通用CRUD方法,无需编写SQL语句。MyBatis-Plus(简称MP)是在MyBatis基础上进行封装和扩展的一款持久层框架,它提供了一系列的增强功能和便捷的开发方式。原创 2023-09-15 20:03:57 · 1067 阅读 · 0 评论 -
MyBatis的三级缓存
当不同的SqlSession执行相同的SQL语句时,会先从二级缓存中获取结果,如果缓存中没有,则再去数据库查询,并将查询结果放入缓存中。它是基于SqlSession的,即在同一个SqlSession中,如果执行相同的SQL语句,那么第二次以后的查询将直接从缓存中获取结果,而不再去数据库查询。3. 三级缓存:MyBatis的三级缓存是指基于SessionFactory级别的缓存,也称为定制缓存。需要注意的是,虽然MyBatis提供了缓存机制来提高性能,但缓存也可能导致数据不一致的问题。原创 2023-09-16 00:24:23 · 446 阅读 · 1 评论 -
MyBatis怎么防止sql注入
1. 使用`#{}`占位符:在SQL语句中使用`#{}`占位符来代替传入的参数值,而不是直接拼接参数值到SQL语句中。通过使用动态SQL的条件判断和循环等功能,可以避免直接拼接参数值到SQL语句中,从而减少SQL注入的风险。综上所述,通过使用`#{}`占位符、动态SQL、输入参数校验、预编译语句和限制权限等方法,可以有效地防止SQL注入攻击。5. 限制权限:在数据库层面,可以限制数据库用户的权限,只给予其执行特定操作的权限,避免恶意操作和注入攻击。原创 2023-09-22 15:41:23 · 4827 阅读 · 0 评论 -
MyBatis中#{}和${}的区别
1. `#{}`是预编译的占位符,会将传入的参数值进行预处理,将参数值安全地替换到SQL语句中,可以有效防止SQL注入攻击。2. `${}`是字符串替换的占位符,会直接将传入的参数值字符串替换到SQL语句中,不会进行预处理。但是,由于不进行预处理,使用`${}`占位符可能存在SQL注入的风险,因此需要谨慎使用。综上所述,使用`#{}`可以提供更安全的参数传递方式,能够有效防止SQL注入攻击。而`${}`则更适用于一些不需要进行预处理的场景,但需要注意防范潜在的安全风险。原创 2023-09-22 15:41:35 · 127 阅读 · 0 评论