JAVA框架——Mybatis

一、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
    在这里插入图片描述
  1. 核心配置
  • 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会话
    SqlSession session = factory.openSession(true);
    注:true:自动提交/false:不自动提交(启动事务)
  • 获取Mapper接口对象
    XxxMapper mapper = session.getMapper(XxxMapper.class);
  • 调用接口对象的方法,处理返回结果
    在这里插入图片描述
    在这里插入图片描述

(5) 注解

  • @Select
  • @Insert
  • @Update
  • @Delete
    在Mapper接口层直接对各个业务使用注解时,就不需要再在xml文件中在写业务执行方法。但并不是每种业务都可以使用注解。
    在这里插入图片描述
    在这里插入图片描述
框架说白了就是JAVA工作者多年以来总结出的一些开发标准。让我们可以以成功的经验模式来开发我们自已的系统,一般使用框架的好处是 ·在好的框架下,开发者只需要写一些必须的代码;他们不需要直接接触底层的API。 这一点很重要。 ·经过良好设计的框架可以为程序提供清晰的结构并且提高程序的内聚性。好清晰的结构使得其他人可以更容易加入项目。 ·一个容易使用的框架可以通过一些例子和文档为用户提供最佳实践。 ·采用成功的框架的代码比自己的代码容易测试 J2EE本身提供了一些框架。比如, Enterprise Java-Beans (EJB) container或者 Servlet engine 而这些框架一般在中小工程中我们都不会使用,会让我们把大量的时间浪费在开发框架上。 而现在比较流行开源框架,主要是struts,hibernate,spring等 比如struts是在原有mvc基础上实现在代码分离等功能,非常好用。 而hibernate可以把我们的关系型数据库转换成我们在JAVA中的面像对像来使用。从而让我们在开发时不需要直接写SQL语句,比如database.getName();就可以直接把数据库中的用户名取出来。 Spring J2EE框架被大规模地运用到项目中,而项目总要负责这些框架以及自己业务代码的连接,使之真正融合到一起。Spring就是专注于这个问题的,它和Hibernate融合的很好。 这三种框架在一起并不冲突,所以现在最常用的框架就是 struts+hibernate+spring就像我们盖房子一样,先把框架搭好,我们在在上面写代码就很规范。 Struts框架介绍 : Struts只是一个MVC框架(Framework),用于快速开发Java Web应用。Struts实现的重点在C(Controller),包括ActionServlet/RequestProcessor和我们定制的 Action,也为V(View)提供了一系列定制标签(Custom Tag)。但Struts几乎没有涉及M(Model),所以Struts可以采用JAVA实现的任何形式的商业逻辑。 Spring是一个轻型容器(light-weight container),其核心是Bean工厂(Bean Factory),用以构造我们所需要的M(Model)。在此基础之上,Spring提供了AOP(Aspect-Oriented Programming, 面向层面的编程)的实现,用它来提供非管理环境下申明方式的事务、安全等服务;对Bean工厂的扩展ApplicationContext更加方便我们实 现J2EE的应用;DAO/ORM的实现方便我们进行数据库的开发;Web MVC和Spring Web提供了Java Web应用的框架或与其他流行的Web框架进行集成。 就是说可将两者一起使用,达到将两者自身的特点进行互补。 spring 框架介绍 : 它关注的领域是其他许多流行的Framework未曾关注的。Spring要提供的是一种管理你的业务对象的方法。 Spring既是全面的又是模块化的。Spring有分层的体系结构,这意味着你能选择仅仅使用它任何一个独立的部分,而它的架构又是内部一致。 因此你能从你的学习中,得到最大的价值。例如,你可能选择仅仅使用Spring来简单化JDBC的使用,或用来管理所有的业务对象。 它的设计从一开始就是要帮助你编写易于测试的代码。Spring是使用测试驱动开发的工程的理想框架。 Spring不会给你的工程添加对其他的框架依赖。Spring也许称得上是个一站式解决方案,提供了一个典型应用所需要的大部分基础架构。它还涉及到了其他framework没有考虑到的内容。 尽管它仅仅是一个从2003年2月才开始的开源项目,但Spring有深厚的历史根基。 Spring架构上的好处 在我们进入细节之前,让我们来看看Spring能够给工程带来的种种好处: Spring能有效地组织你的中间层对象,不管你是否选择使用了EJB。如果你仅仅使用了Struts或其他为J2EE的 API特制的framework,Spring致力于解决剩下的问题。 Spring能消除在许多工程中常见的对Singleton的过多使用。根据我的经验,这是一个很大的问题,它降低了系统的可测试性和面向对象的程度。 通过一种在不同应用程序和项目间一致的方法来处理配置文件,Spring能消除各种各样自定义格式的属性文件的需要。曾经对某个类要寻找的是哪个 魔法般的属性项或系统属性感到不解,为此不得不去读Javadoc甚至源编码?有了Spring,你仅仅需要看看类的JavaBean属性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值