JAVA框架——Mybatis
- 一、JAVA框架
- 1、什么是框架
- 2、主流框架
- (1)Spring框架
- (2)Spring MVC框架
- (3)Mybatis框架
- 二、Mybatis框架
- 1、数据持久化
- (1)数据持久化概念
- (2)为何持久化
- (3)如何做到数据持久化
- 2、优点
- 3、Mybatis框架
- (1) 概念
- (2) Mybatis配置
- (3) Mapper配置文件常用标签
- (4) Mybatis核心对象
- (5) 注解
一、JAVA框架
1、什么是框架
- 框架:(Framework)是一个提供了可重用的公共结构的半成品。它为我们构建新的应用程序提供了极大的便利,不但提供了可以拿来就用的工具,更重要的是,还提供了可以重用的设计。
- 骨架:对用应用程序来说,“框架”就是应用程序的骨架,开发者可以在这个骨架上加入自己的东西,搭建出符合自己需求的应用程序
2、主流框架
(1)Spring框架
- 该框架是一个开源框架,目标是使现有的java EE技术更容易使用和养成良好的编程习惯。他是一个轻量级的框架,渗透了java EE技术的方方面面。主要作为依赖祝融容器和AOP实现存在,还提供了声明式事务、对DAO曾的支持等简化开发的功能。
(2)Spring MVC框架
- Spring MVC是Spring框架提供的构建Web应用程序的全功能MVC模块,属于Spring Framework的后续产品,已经融合了Spring Web Flow里面,是结构最清晰的MVC Model2 的实现。它拥有高度的可培植心腹,支持多种视图技术,还可以进行定制化开发,相当灵活。此外,Spring 整合Spring MVC可以说是无缝集成,是一个高性能的构架模式,现在已越来越广泛地应用于互联网应用的开发中。
(3)Mybatis框架
- Mybatis是一个优秀的数据持久化框架,在实体类和SQL语句之间建立映射关系,是一种半自动化的ORM实现。其封装性要低于Hibernate,性能优越,并且小巧、简单易学,应用也越来越广泛。
二、Mybatis框架
1、数据持久化
(1)数据持久化概念
- 就是将程序的数据在持久状态和瞬时状态转换的过程
(2)为何持久化
- 内存是断电即失的,有些对象是不能丢失的
(3)如何做到数据持久化
- 数据库(JDBC)
1)JDBC技术(规范)
2)Spring的jdbcTemplate(工具类):对jdbc的简单封装
3)Apachs的DBUTILS(工具类):对jdbc的简单封装 - IO文件持久化
2、优点
- 方便,灵活,简单易学
- 传统的jdbc代码太复杂,简化,框架,自动化
- sql和代码的分离,提高了可维护性
- 提供映射标签,支持对象与数据库的orm字段关系映射
- 提供对象关系映射标签,支持对象关系组件维护
- 提供xml标签,至此编写动态ssq.
3、Mybatis框架
(1) 概念
- java的持久层框架,内部已经封装jdbc,使开发者只需要关注sql语句本身,不需要处理加载驱动、创建连接、创建statement等过程。
- 通过xml或者注解的方式将要执行二点各种statement配置起来。通过java对象和statement中sql的动态参数进行映射生成最终执行的sql语句,再由mybatis框架执行sql将结果映射为java对象并返回。
(2) Mybatis配置
1) 依赖jar包
- mysql driver
- mybatis
- 核心配置
- datasource.properties
- mybatis.xml
- mapper
(3) Mapper配置文件常用标签
• select 查询
• insert 新增
• delete 删除
• update 修改
• foreach 循环
• open 开始符号
• close 结束符号
• seperator 分隔符
(4) Mybatis核心对象
• 配置文件解析
InputStream config = Resources.getResourceAsStream(String path);
+SQL会话工厂
SQLSessionFactory factory = new SqlSessionFactoryBuilder().builder(config);
+SQL会话
• 获取Mapper接口对象
XxxMapper mapper = session.getMapper(XxxMapper.class);• 调用接口对象的方法,处理返回结果
(5) 注解
- @Select
- @Insert
- @Update
- @Delete
在Mapper接口层直接对各个业务使用注解时,就不需要再在xml文件中在写业务执行方法。但并不是每种业务都可以使用注解。