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基础加强一下,二是课本中有很多知识是视频中没有的,做 ...
随机推荐
- DSAPI多功能组件编程应用-HTTP监听服务端与客户端_指令版
前面介绍了DSAPI多功能组件编程应用-HTTP监听服务端与客户端的内容,这里介绍一个适用于更高效更快速的基于HTTP监听的服务端.客户端. 在本篇,你将见到前所未有的超简化超傻瓜式的HTTP监听服务 ...
- Quartz.Net学习笔记
一.概述 Quartz.NET是一个强大.开源.轻量的作业调度框架,是 OpenSymphony 的 Quartz API 的.NET移植,用C#改写,可用于winform和asp.net应用中.它灵 ...
- Shiro详解
Shiro Shiro集成Spring 加入Spring和Shiro的jar包 配置Spring及SpringMVC 参照:官方给出的案例shiro\samples\spring Shiro集成Web ...
- jqgrid three 树形结构
最近我们的表格中,需要更改数据的显示方式,就是jqgrid中以树形的方式显示.请先看图: 就是简单的这种从属方式.但是因为这个没有找到官方的文档(后来找到了,但是发现是翻译过来的,也不是很清楚),所以 ...
- Kindle Windows版本 中文字体修改工具
近来想要用Windows看Kindle电子书,无奈Windows 版本的Kindle不能修改中文字体,非常难看.把Kindle拉到IDA PRO看了一下,发现Kindle Windows版本的中文字体 ...
- Git常用简介
Git是什么 git是目前最先进的分布式版本控制系统,它的核心架构如下图所示,分为四个核心区域.git的常用命令主要是关于这四个区域. 本地工作区-work 本地工作区就是我们实际电脑中的文件夹以及文 ...
- Windows -- cmd命令: ipconfig 和 nbtstat
1. ipconfig 命令格式及参数如下: 2. nbtstat 命令格式及参数如下:
- OKR能解决996吗?德鲁克怎么看?
最近网络上热议的“996”,不由让人想起我们的邻国日本.他们在20年前就有过一个热词“过劳死”,就是职场加班太严重导致的猝死. 最近有一本书新书<过劳时代>,说的就是日本20年前的过劳死. ...
- vue 基础知识
1. v-if 的使用: 假如后端传过来的数据,1 表示 “已完成”, 0表示 “未完成”, 那么如何根据 1.0显示出对应的表示信息呢? <p><span v-if="d ...
- .NET程序员不加班——写在《华为工程师猝死,36岁,22月无休》之后
我首先承认,有点标题党.因为这是我这个十年老码农——过了年就整整11年了,o(╥﹏╥)o——的个人观察.经验所得.如果有仍在加班的.NET童鞋,不要打我.一定要打的话,只有一个要求:不要打脸! 写这篇 ...