SSM框架详解:Mybatis与SqlSessionFactory深度解析
需积分: 9 6 浏览量
更新于2024-07-09
收藏 556KB DOCX 举报
"ssm框架整合的关键点和Mybatis的核心特性"
SSM框架是Spring、SpringMVC和Mybatis三者集成的开发框架,常用于构建Java Web应用程序。在这个框架整理中,我们将关注Mybatis的部分,它是SSM中的数据访问层,提供灵活的SQL映射功能。
1. **#{}与${}的区别**
Mybatis中的`#{}`是预编译处理,防止SQL注入,它会将参数值包装成PreparedStatement的参数;而`${}`则是简单的字符串替换,不安全,可能会引发SQL注入问题。
2. **Mapper配置**
`Namespace`用于指定Mapper文件的位置,通常与Mapper接口的全限定名对应。通过`UserMapper mapper = session.getMapper(UserMapper.class);`获取Mapper实例,然后调用`Mapper+方法名+增删改的参数`来执行相应的操作。
3. **事务管理**
增删改操作需要手动提交事务,例如使用`session.commit();`来提交当前的数据库事务。
4. **万能Map与Like模糊查询**
当实体类或数据库字段较多时,可以使用Map作为参数,实现更灵活的查询。同时,Mybatis支持使用`like`关键字进行模糊查询,通过动态SQL拼接实现。
5. **类型别名与包名**
Mybatis允许设置类型别名,简化类型引用。在`<typeAliases>`中定义,如`<typeAlias type="com.kuang.pojo.User" alias="User"/>`。也可以通过在实体类上添加`@Alias("user")`注解来为类设置别名。
6. **作用域与生命周期**
- **SqlSessionFactoryBuilder**:负责构建SqlSessionFactory,应保持在方法作用域内,避免长期持有,以减少资源占用。
- **SqlSessionFactory**:代表数据库连接池,其生命周期与Mybatis应用相同,一旦创建就应该长期保存。避免创建多个SqlSessionFactory以防止资源浪费和可能的系统崩溃。
7. **SqlSession的使用**
SqlSession代表一次数据库会话,用于执行SQL语句。每次数据库操作都应创建新的SqlSession实例,并在完成后关闭,以确保资源的正确释放。
8. **Mybatis执行流程**
Mybatis的执行过程涉及SqlSessionFactory的创建、SqlSession的获取、执行SQL、提交事务及关闭SqlSession等步骤。理解这一流程有助于优化代码和解决并发问题。
通过对Mybatis这些关键特性的理解,开发者可以在SSM框架下更高效地进行数据库操作,同时确保程序的稳定性和安全性。在实际项目中,合理配置和使用这些组件,能够大大提高开发效率并降低维护成本。
2023-08-12 上传
2022-06-14 上传
2020-06-09 上传
2023-09-17 上传
2023-08-14 上传
2023-08-29 上传
Super丶洪
- 粉丝: 5
- 资源: 9
最新资源
- JDK 17 Linux版本压缩包解压与安装指南
- C++/Qt飞行模拟器教员控制台系统源码发布
- TensorFlow深度学习实践:CNN在MNIST数据集上的应用
- 鸿蒙驱动HCIA资料整理-培训教材与开发者指南
- 凯撒Java版SaaS OA协同办公软件v2.0特性解析
- AutoCAD二次开发中文指南下载 - C#编程深入解析
- C语言冒泡排序算法实现详解
- Pointofix截屏:轻松实现高效截图体验
- Matlab实现SVM数据分类与预测教程
- 基于JSP+SQL的网站流量统计管理系统设计与实现
- C语言实现删除字符中重复项的方法与技巧
- e-sqlcipher.dll动态链接库的作用与应用
- 浙江工业大学自考网站开发与继续教育官网模板设计
- STM32 103C8T6 OLED 显示程序实现指南
- 高效压缩技术:删除重复字符压缩包
- JSP+SQL智能交通管理系统:违章处理与交通效率提升