Mybatis简介:
1.1 mybatis是一个优秀的基于java的持久层框架(数据访问层),它内部封装了jdbc,这样就可以使使用者减少很多原始jdbc的代码冗余,只用关心sql的语句本身。
mybatis通过xml或者注解的方式将要执行的各种statement配置起来,并通过java对象和statement中的sql动态参数进行映射生成最终操作数据库的sql语句。
最后mybatis框架执行sql语句并将结果映射为java对象并返回,采用了ORM思想解决了实体类和数据库映射的问题,对原始jdbc进行了封装,屏蔽了jdbc中api底层访问细节,
1.2 MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。
MyBatis使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
可以把mybatis看做是高级的jdbc,用来解决jdbc的缺点:
1)、自动注册驱动 ;
2)、自动创建jdbc中使用的Connection, Statement,ResultSet;
3)、自动执行sql语句, 得到ResultSet;
4)、自动处理ResultSet, 把记录集中的数据转为java对象, 同时还能把java对象放入到List集合;
5)、自动关闭资源;
6)、自动实现sql语句和java代码的解耦合;
......
1.3 数据持久化:
数据持久化就是将程序的数据在持久状态和瞬时状态转化的过程;
内存存储数据特点:断电即失;
持久化方式:通过数据库(Jdbc)或io文件持久化数据。
1.4 每个MyBatis应用程序主要都是使用SqlSessionFactory实例的,一个SqlSessionFactory实例可以通过SqlSessionFactoryBuilder获得。
SqlSessionFactoryBuilder可以从一个xml配置文件或者一个预定义的配置类的实例获得。
mybatis:半ORM框架,持久层框架
mybatis.xml(定义了mybatis的基本配置和连接数据库的配置信息)
SqlSessionFactoryBuilder完成mybatis.xml配置文件的加载操作
SqlSessionFactoryBuilder --> SqlSessionFactory实例
SqlSessionFactory --> SqlSession
SqlSession -> 数据库层面增删改查操作
如何引入mybatis:
Maven工程中的pom文件导入mybatis的坐标
Mybatis的相关配置:
1:Mybatis的核心配置文件
核心文件的dtd约束:
2:引入外部的jdbc配置文件:
为什么选择mybatis:
mybatis作为一个持久层的框架,帮助程序员操作数据库中的数据。
相较于原始的jdbc代码,原始jdbc代码量太大,太多的冗余的代码,而且连接一次就要关闭一次,大大的消耗了程序运行的速度。所以,mybatis就解决了这样一种代码冗余和一次性的连接的问题。