6、提供xml标签,支持编写动态sql
(2) 缺点:
在XML配置文件中写SQL语句来执行DML操作的时候,SQL语句编写的工作量比较大,因为Mybatis框架使用的是原生的SQL,所以所有的SQL都需要开发人员手工敲写,当DML操作涉及到多表连接查询的时候,如果各个表中的字段特别多,那么SQL语句的量就会特别大,此时开发效率就不会那么高,Mybatis的优势不会那么明显的展示。
此外,Mybatis框架中的SQL语句对数据库的依赖性比较高,这就使得当执行数据迁移的时候,难度会特别大。特别是进行不同数据库之间的数据迁移的时候,SQL可能需要重写。
总体而言,Mybatis框架比较适合运用在中小型的系统中,对于中大型系统还是使用hibernate框架或者是Spring提供的Jdbc基本框架Template。毕竟Mybatis和hibernate框架的开发都是基于jdbc的。
1.2.7 构建工具maven
Maven是一款跨平台的项目管理工具,因为maven可以在Windows和Linux或者是Mac系统上使用相同的命令完美运行,它的功能与工作效率一点也不收平台的影响。Maven主要用在基于Java平台的项目构建、依赖管理和项目信息管理。Maven的主要功能是构建程序,它可以帮助我们完成编译、测试、部署等一系列操作。极大的简化了开发人员的开发过程,降低了开发的工作量,是一款十分优秀的开发辅助工具。
1.2.8 版本控制系统Git
版本控制系统有两种,一种是集中式版本控制系统,例如SVN和CVS;另一种是分布式版本控制系统,如Git。本次开发使用分布式版本控制系统Git。原因如下:
首先,集中式版本控制系统的版本库是集中在中央服务器上面的,开发者每次进行开发的时候,都需要先从中央服务器中拉去到最新的代码,然后才能进行开发工作。开发完之后,开发者再把自己的代码推送到中央服务器。这样一来,这就对网络产生了依赖,如果没有联网或者不在局域网内,那么系统就没法正常工作了。来!自~751论-文|网www.751com.cn
而分布式版本控制系统则不一样,由于他没有中央服务器,可以说每一个分支就是一个版本库。这样一来系统对网络的依赖就大大降低了。而且分布式控制系统的分支管理功能很方便团队开发,开发的时候一个模块对应一个分支,开发完成之后合并分支即可。而且在大家将自己的代码推送合并之后,每个人都可以看到其他人对自己的文件作出的一系列操作。
1.2.9 MySQL关系型数据库
MySQL是一种关系数据库管理系统, 它所使用的 SQL 语言是用于访问数据库的最常用标准化语言。考虑到本次开发的成本以及系统对数据库的需求,本次开发采用MySQL数据库来存储相关数据,以下列举了几天MySQL数据库的优势:
(1) 它是一款开源数据库
MySQL是一款对外开放源代码的关系型数据库,开源就意味着所有的使用者都可以深入的了解MySQL的核心,并且可以及时的指出并且更正MySQL出现的漏洞。从安全性角度而言,开源的MySQL比Oracle等其他关系型数据库更加适合广大开发人员