一、java是一门十分受开发人员欢迎的语言,在开发语言排行榜中名列前茅,人们对其看法不尽相同,就我自身感受而言,我觉得java语言的主要优势体现在如下几方面:
1、java属于开源语言,开发人员可以找到丰富的资料,不断完善这门语言。
2、java语言拥有众多的框架,开发人员可以根据需要,自行组合各种框架在一起,实现高效的开发。
软件开发语言排行榜:

二、“框架”的概念:框架一词在软件工程中有其特定的含义,类似于其他工程的框架一样,是对工程的抽象出来的特定的结构进行概述的一个词语。例如我们建一所高楼,最主要的就是要先搭建一个框架结构,搭建完这个框架结构后,整个工程的核心部分就基本搞定了,剩下的工作就是在这个框架中进行填充和修饰。软件工程的框架也一样,是将我们常用的技术和核心思路抽象出来,形成特定的框架结构,当我们需要开发的时候,可以引入框架,并且在此基础上进行开发,从而提高开发效率的一门技术。

框架:


装饰后的房子:

三、常见的软件框架
由于软件工程基本遵循MVC的设计思想,所以框架大概从如下几个方面分层实现。

表现层:主要处理试图技术,常见的的框架如JS框架jQuery、AngularJS、freemarker等技术
业务逻辑层:主要对业务逻辑进行控制,常见的有Struts1、Struts2、Spring MVC、以及擅长将各层整合在一起的Spring框架
数据访问层:主要处理与数据库的交互,也称持久层框架,常见的有 Hibernate、iBatis、MyBatis等框架技术。

上面讲到的这么多的框架技术,那么到底怎样在项目中使用各种框架了?答案并不唯一,一般根据各个公司以及各个项目的特点不同,选择不同的组合形成适合自己的才是最好的。比如常见的组合SSH(Struts2 + Spring + Hibernate)、SSI(Struts2 + Spring + iBatis)等组合,一般项目会选择不同的框架技术组合到一起,形成适合自己开发的框架。

介绍几个概念:
1、ORM映射,是Object Relation Mapping(对象关系映射)的简称,我们知道,在java语言中,我们是面向对象编程的,但是,目前主流的数据库都是关系型数据库,我们需要将面向对象的数据转换成关系型的数据,与数据库交互,就需要进行一个对象到关系的转化,所以,ORM就是专门处理这类问题的一个解决方案。例如我们的Hibernate、iBatis等都可以叫做ORM框架,因为它们主要为我们提供对象关系映射的服务。

2、持久化:持久化就是将瞬时的数据进行保存,简单的理解就是将我们项目中交互的数据保存到数据库,达到长久存储的目的。因为我们项目的数据都是临时的在内存中交互和扭转,一旦断电或者终止程序就消失了,所以需要进行持久化。

3、JDBC:网络上这样解释,JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。其实简单的理解就是 java 访问数据库的一项技术手段。

4、数据源
数据源,我们需要访问数据库就需要得到数据库连接,才能在此基础上执行相关的操作,数据源就是我们得到连接的一个地方,类似于一个水池一样的,我们需要水的时候就可以到这个地方去取,这个水池在数据库中专门为我们提供数据库连接。

四、iBatis 框架在项目中所处的地位
iBatis在项目中主要的地位是处在DAO层,即数据访问层,主要是起到连接业务层和数据库的桥梁作用,将业务层的数据保存更新到数据库,或者根据需要,将数据从数据库中搜索出来。

iBatis第一章:基础知识概述 & MVC思想的更多相关文章

  1. wpf(第一章 基础知识)

    wpf第一章基础知识:通过vs2015创建wpf程序会在引用里面多出3个核心程序集PresentationCore.PresentationFramework.WindowsBase.并且会在解决方案 ...

  2. 《openssl编程》:第一章基础知识

    第一章 基础知识 1.1 对称算法 对称算法使用一个密钥.给定一个明文和一个密钥,加密产生密文,其长度和明文大致相同.解密时,使用读密钥与加密密钥相同. 对称算法主要有四种加密模式: (1) 电子密码 ...

  3. Python第一章-基础知识

    第一章:基础知识 1.1 安装python.     直接官网下载最新的python然后默认安装就可以了,然后开始菜单里找到pyhton *.*.* Shell.exe运行python的交互shell ...

  4. 《Python基础教程(第二版)》学习笔记 -> 第一章 基础知识

    写笔记的原因:书也看了一遍,视频也看了,但总是感觉效果不好,一段时间忘记了,再看又觉得有心无力,都是PDF的书籍,打开了就没有心情了,上班一天了,回家看这些东西,真的没多大精力了,所以,我觉得还是把p ...

  5. Python基础教程学习笔记:第一章 基础知识

    Python基础教程 第二版 学习笔记 1.python的每一个语句的后面可以添加分号也可以不添加分号:在一行有多条语句的时候,必须使用分号加以区分 2.查看Python版本号,在Dos窗口中输入“p ...

  6. Python 第一章 基础知识

    如果熟其他计算机语言,可能会习惯于每行以分号结束.Python则不同,一行就是一行,不管多少. 如果喜欢的话,可以加上分号,但是不会有任何作用(除非同一行还有更多的代码),而且这也不是同行的做法. & ...

  7. Laxcus大数据管理系统2.0(2)- 第一章 基础概述 1.1 基于现状的一些思考

    第一章 基础概述 1.1 基于现状的一些思考 在过去十几年里,随着互联网产业的普及和高速发展,各种格式的互联网数据也呈现爆炸性增长之势.与此同时,在数据应用的另一个重要领域:商业和科学计算,在各种新兴 ...

  8. 第一章 Windows内核概述

    第一章 Windows内核概述 这一章节描述了Windows内核知识中最重要的几个概念,这些话题在这本书之后会有更详细的描述,那些会与当前的主题密切相关.要确保你理解这个章节的概念,因为这些概念构成了 ...

  9. javaSE习题 第一章 JAVA语言概述

    转眼就开学了,正式在学校学习SE部分,由于暑假放视频过了一遍,略感觉轻松,今天开始,博客将会记录我的课本习题,主要以文字和代码的形式展现,一是把SE基础加强一下,二是课本中有很多知识是视频中没有的,做 ...

随机推荐

  1. arcgis api 4.x for js 结合 react 入门开发系列初探篇(附源码下载)

    你还在使用 JQuery 或者 Dojo 框架开发 arcgis api 4.x for js 吗?想试试模块化开发吗?随着前端技术的发展,arcgis api 4.x for js 也有了结合 re ...

  2. MongDB集群容灾方案步骤

    MongoDB复制集优/特点支持大数据量.高扩展性.高性能.灵活数据模型.高可用性.同步机制数据复制的目的是使数据得到最大的可用性,避免单点故障引起的整站不能访问的情况的发生,Mongodb的副本集在 ...

  3. 在linux中访问macos 下的分区。

    花钱的解决方案是找专业的:   Paragon Software  他们家有各种套件,让你在window Linux 都能访问到苹果分区里面的内容. 但是Windows删除了它的驱动之后一开机就蓝屏. ...

  4. Sublime Text2支持Vue语法高亮显示

    1.下载vue语法高亮插件vue-syntax-highlight 下载地址:https://github.com/vuejs/vue-syntax-highlight 2.将vue-syntax-h ...

  5. 解决 HomeBrew 下载缓慢的问题

    macOS 自身不提供包管理器,常用的包管理器有 HomeBrew MacPorts MacPorts 第一次使用要 build 整个基本库,编译时间很长.优点是不怎么依赖系统,更新 macOS 不会 ...

  6. 升级node版本

    一.升级方法: 1.产看node版本,没安装的请先安装: $ node -v 2.清楚node缓存: $ sudo npm cache clean -f 3.安装node版本管理工具'n'; $ su ...

  7. Java实现单链表

    真正的动态数据结构(引用和指针) 优点:真正的动态,不需要处理固定容量的问题. 缺点:丧失随机访问的能力. 链表就像寻宝,我们拿到藏宝图开始出发寻宝,每找到一个地方后,里面藏着下一步应该去哪里寻找.一 ...

  8. ASP.NET Core 3.0 上的gRPC服务模板初体验(多图)

    早就听说ASP.NET Core 3.0中引入了gRPC的服务模板,正好趁着家里电脑刚做了新系统,然后装了VS2019的功夫来体验一把.同时记录体验的过程.如果你也想按照本文的步骤体验的话,那你得先安 ...

  9. 使用redis有序集合sorted set设计高效查询ip所在地

    1.将纯真版ip数据  xxx.data 导入至 redis(整个过程只花费了几秒) 引入nuget包 CSRedisCore,使用方法见:https://github.com/2881099/csr ...

  10. Python编程从入门到实践笔记——变量和简单数据类型

    Python编程从入门到实践笔记——变量和简单数据类型 #coding=gbk #变量 message_1 = 'aAa fff' message_2 = 'hart' message_3 = &qu ...