MyBatis
2021/7/25 23:40:44
本文主要是介绍MyBatis,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
SSM即SpringMVC(Web) Spring(Service) Mybatis(dao)
MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注SQL本身,而不需要花费精力去处理例如注册驱动、创建connection、创建statement、手动设置参数、结果集检索等jdbc繁杂的过程代码
MyBatis通过xml或注解的方式将要执行的各种statement(statement、prepareStatement、CallableStatement)配置起来,并通过java对象和statement中的sql进行映射生成最终执行的sql语句,最后由mybatis框架执行sql并将结果映射成java对象并返回
为什么使用框架:
1存在硬编码问题 sql语句和java代码掺杂在一起
实际应用中sql变化的可能性较大,sql变动需要改变java代码
2使用preparedStatement向占位符传参数存在硬编码,因为sql语句的where条件不一定,可能多也可能少,修改sql还要修改代码,系统不易维护
3对结果集解析存在硬编码(查询列名),sql变化导致解析代码变化,系统不易维护,如果能将数据库记录封装成pojo对象解析比较方便
4数据库连接创建,释放频繁造成系统资源浪费,从而影响系统性能。如果使用数据库连接池可解决此问题
配置文件
MyBatis配置文件
SqlMapConfig.xml (核心的配置文件 包括连的哪个数据库,连哪个库,用户名是啥,练mysql还是Oracle这些等 是必须配置的)
一个表对应一个mapper.xml文件
xml文件只写sql语句 不需要类了 而是通过xml来写
而多个表即多个xml文件怎么联系在一起 就需要通过核心配置文件来配置
SqlSessionFactory 对象(即sqlsession工厂对象) 可以生产sqlsession对象
sqlsession帮你执行sql (类似于QueryRunner对象)
这篇关于MyBatis的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)