iBatis第一章:基础知识概述 & MVC思想
一、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思想的更多相关文章
- wpf(第一章 基础知识)
wpf第一章基础知识:通过vs2015创建wpf程序会在引用里面多出3个核心程序集PresentationCore.PresentationFramework.WindowsBase.并且会在解决方案 ...
- 《openssl编程》:第一章基础知识
第一章 基础知识 1.1 对称算法 对称算法使用一个密钥.给定一个明文和一个密钥,加密产生密文,其长度和明文大致相同.解密时,使用读密钥与加密密钥相同. 对称算法主要有四种加密模式: (1) 电子密码 ...
- Python第一章-基础知识
第一章:基础知识 1.1 安装python. 直接官网下载最新的python然后默认安装就可以了,然后开始菜单里找到pyhton *.*.* Shell.exe运行python的交互shell ...
- 《Python基础教程(第二版)》学习笔记 -> 第一章 基础知识
写笔记的原因:书也看了一遍,视频也看了,但总是感觉效果不好,一段时间忘记了,再看又觉得有心无力,都是PDF的书籍,打开了就没有心情了,上班一天了,回家看这些东西,真的没多大精力了,所以,我觉得还是把p ...
- Python基础教程学习笔记:第一章 基础知识
Python基础教程 第二版 学习笔记 1.python的每一个语句的后面可以添加分号也可以不添加分号:在一行有多条语句的时候,必须使用分号加以区分 2.查看Python版本号,在Dos窗口中输入“p ...
- Python 第一章 基础知识
如果熟其他计算机语言,可能会习惯于每行以分号结束.Python则不同,一行就是一行,不管多少. 如果喜欢的话,可以加上分号,但是不会有任何作用(除非同一行还有更多的代码),而且这也不是同行的做法. & ...
- Laxcus大数据管理系统2.0(2)- 第一章 基础概述 1.1 基于现状的一些思考
第一章 基础概述 1.1 基于现状的一些思考 在过去十几年里,随着互联网产业的普及和高速发展,各种格式的互联网数据也呈现爆炸性增长之势.与此同时,在数据应用的另一个重要领域:商业和科学计算,在各种新兴 ...
- 第一章 Windows内核概述
第一章 Windows内核概述 这一章节描述了Windows内核知识中最重要的几个概念,这些话题在这本书之后会有更详细的描述,那些会与当前的主题密切相关.要确保你理解这个章节的概念,因为这些概念构成了 ...
- javaSE习题 第一章 JAVA语言概述
转眼就开学了,正式在学校学习SE部分,由于暑假放视频过了一遍,略感觉轻松,今天开始,博客将会记录我的课本习题,主要以文字和代码的形式展现,一是把SE基础加强一下,二是课本中有很多知识是视频中没有的,做 ...
随机推荐
- arcgis api 4.x for js 结合 react 入门开发系列初探篇(附源码下载)
你还在使用 JQuery 或者 Dojo 框架开发 arcgis api 4.x for js 吗?想试试模块化开发吗?随着前端技术的发展,arcgis api 4.x for js 也有了结合 re ...
- MongDB集群容灾方案步骤
MongoDB复制集优/特点支持大数据量.高扩展性.高性能.灵活数据模型.高可用性.同步机制数据复制的目的是使数据得到最大的可用性,避免单点故障引起的整站不能访问的情况的发生,Mongodb的副本集在 ...
- 在linux中访问macos 下的分区。
花钱的解决方案是找专业的: Paragon Software 他们家有各种套件,让你在window Linux 都能访问到苹果分区里面的内容. 但是Windows删除了它的驱动之后一开机就蓝屏. ...
- Sublime Text2支持Vue语法高亮显示
1.下载vue语法高亮插件vue-syntax-highlight 下载地址:https://github.com/vuejs/vue-syntax-highlight 2.将vue-syntax-h ...
- 解决 HomeBrew 下载缓慢的问题
macOS 自身不提供包管理器,常用的包管理器有 HomeBrew MacPorts MacPorts 第一次使用要 build 整个基本库,编译时间很长.优点是不怎么依赖系统,更新 macOS 不会 ...
- 升级node版本
一.升级方法: 1.产看node版本,没安装的请先安装: $ node -v 2.清楚node缓存: $ sudo npm cache clean -f 3.安装node版本管理工具'n'; $ su ...
- Java实现单链表
真正的动态数据结构(引用和指针) 优点:真正的动态,不需要处理固定容量的问题. 缺点:丧失随机访问的能力. 链表就像寻宝,我们拿到藏宝图开始出发寻宝,每找到一个地方后,里面藏着下一步应该去哪里寻找.一 ...
- ASP.NET Core 3.0 上的gRPC服务模板初体验(多图)
早就听说ASP.NET Core 3.0中引入了gRPC的服务模板,正好趁着家里电脑刚做了新系统,然后装了VS2019的功夫来体验一把.同时记录体验的过程.如果你也想按照本文的步骤体验的话,那你得先安 ...
- 使用redis有序集合sorted set设计高效查询ip所在地
1.将纯真版ip数据 xxx.data 导入至 redis(整个过程只花费了几秒) 引入nuget包 CSRedisCore,使用方法见:https://github.com/2881099/csr ...
- Python编程从入门到实践笔记——变量和简单数据类型
Python编程从入门到实践笔记——变量和简单数据类型 #coding=gbk #变量 message_1 = 'aAa fff' message_2 = 'hart' message_3 = &qu ...