Mybatis
文章后半部分内容来自:https://www.cnblogs.com/wang-meng/p/5701990.html
目录
1.1.9- Mybatis如何解决使用jdbc数据库连接接数据库释放频繁造成系统资源浪费从而影响系统性能
1.1.10-sql与java语句写在一起不易于维护,Mybatis如何解决的
1.1.11-Mybatis怎么保证向sql语句传参数,占位符需要和参数一一对应
1.1.12-Mybatis怎么把数据库结果封装成pojo对象
1.1.1-什么是orm
ORM模式是一种为了解决面向对象与关系数据存在的互不匹配现象的技术,ORM提供了实现持久化的另一种模式,可以简单的方案是采用硬编码方式(jdbc,操作,sql的方式)为每一种可能的数据库访问操作提供单独的方法,这种方法存在很多缺陷,所以使用ORM框架来解决,常用的有Hibernate,ibatis(Mybatis)。
1.1.2-ORM基于三个核心原则
-
简单:以最基本的形式建模数据
-
传达性:数据库结构被任何人都能理解的语言文档化
-
精确性:基于数据模型创建正确标准化的结构
1.1.3-Mybatis是什么
MyBatis 是一个可以自定义SQL、存储过程和高级映射的持久层框架,是一个半orm框架,只需要注重sql语句的编写即可,不需要像传统的jdbc一样去处理加载驱动,连接,创建,释放的工作。
1.1.4-Mybatis的优点
-
相对灵活,sql语句可以写在xml文件中,和程序代码可以实现分离解耦,易于维护,提供 XML 标签, 支持编写动态 SQL 语句, 并可重用。
-
没有jdbc一样繁琐的步骤,只需要关注sql语句本身即可。
-
和Spring可以很好的整合。
-
提供映射标签, 支持对象与数据库的 ORM 字段关系映射
1.1.5-Mybatis的缺点
- sql语句会比较多
- 对数据库的依赖性强,不可以随意更改数据库
1.1.6-#{}和${}的区别
#{}是预编译处理,${}是字符串替换
-
#{}:Mybatis在处理#{}时,会将sql中的#{}替换为?号,对sql语句预编译后调用 PreparedStatement 的set 方法来赋值。
-
${}:字符串替换, 告诉 mybatis 使用$包含的“字符串”替换所在位置。使用的是 Statement 对象