MyBatis在《Web中间件技术》课程中的应用

2019-10-24 09:39王天顺程杰张志文
教育教学论坛 2019年38期

王天顺 程杰 张志文

摘要:作者本学期所承担课程为大四同学的《Web中间件技术》课程,面向的是即将毕业走上就业岗位的同学们。在这门课程的数据库访问章节中,没有采用原生CRUD访问方式,而是首次在我院教学中使用了MyBatis这个半自动化的数据访问中间件。在教学过程中取得了较好的效果,提高了同学们对JAVA语言、JAVA开发框架、中间件技术的理解与应用能力。

关键词:数据访问中间件;MyBatis;理解与应用能力

中图分类号:G642.4     文献标志码:A     文章编号:1674-9324(2019)38-0204-02

高年级计算机专业与软件工程專业比较重要的专业选修课《Web中间件技术》,是很多同学毕业时JAVA就业方向的课程。众所周知,JAVA是当前互联网行业的第一编程语言,应用范围最为广泛。我校作为身处内地的民办本科院校,天然地具有资金短缺、教师人数较少、课程教学任务较重的特点,故而对于JAVA系列相关课程开设得并不是特别完善。如何在有限的教学条件下尽可能地让学生打牢基础、与市场接轨,不要落后于其他院校的同学,是笔者讲授这门课程的重要考虑因素[1]。在综合考虑了现实条件后,在JAVA课程、SSH技术的基础上,软工教研室经过多次协商讨论,在2018—2019学年第一学期的课程中,引入了以Spring和MyBatis为核心技术框架的《Web中间件技术》,对授课内容进行了重构。

笔者在本文中重点介绍了数据访问中间件MyBaits的基本概念以及在课程中的简单应用与对学生在毕业选题时的影响。

一、中间件的定义

中间件是一类位于操作系统软件与用户应用软件的中间提供服务或框架的软件,即为“中间件”。由于中间件需要屏蔽分布环境中异构的操作系统、网络协议等,它必须能够提供分布环境下的通信服务。基于目的和实现机制的不同,可以将中间件分为远程过程调用(Remote Procedure Call)、面向消息的中间件(Message-Oriented Middleware)、对象请求代理(Object Request Brokers)、数据访问中间件(Database Access Middleware)等。数据访问中间件就是指一切连接应用程序和数据库的软件,这种技术可以建立数据应用资源互操作的模式对异构环境下的数据库实现连接或文件系统实现连接,并按使用者的要求进行读取。

二、半自动化数据访问中间件MyBatais

传统的JAVA应用都是采用JDBC来访问数据库的,但传统的JDBC采用的是一种基于SQL的操作方式,这种操作方式与JAVA语言的面向对象特性不太一致。所以JAVA EE应用提供了ORM(Object Relation Maping)技术来以面向对象的方式操作关系数据库。最早的ORM是Entity EJ(Enterprise Java Bean),EJB就是经典JAVA EE应用的核心,从EJB 1.0到EJB 2.x,许多人会觉得EJB非常烦琐,所以导致EJB备受诟病。之后还有针对新项目、新系统的全自动数据访问服务中间件Hibernate框架出现。但是,针对一些已有特定系统(如银行系统),出于安全、必须基于存储过程、严苛的性能要求等方面的考虑,Hibernate这种全自动数据访问中间件无法使用。由此,“半自动化”的MyBatis受到了软件服务部门的欢迎与广泛应用。数据访问服务中间件MyBatis是Apache组织提供的一个轻量级持久层框架,这里的“半自动化”是相对Hibernate等提供了全面的数据库封装机制的“全自动化”ORM实现而言的,而MyBatis则着力于POJO与SQL之间的映射关系。MyBatis对业务逻辑实现人员而言,面对的是纯粹的JAVA对象,而对于具体的数据操作,MyBatis则需要程序员编写,然后通过Mapping映射配置文件,将SQL所需的参数以及返回的结果字段映射到指定POJO。

三、教学中的应用

MyBatis最新版本是3.4.7,这也是笔者在教学过程中所使用的版本。在笔者的教学工作中,使用MyBatis作为数据访问层,来对底层数据库进行CRUD操作。首先在整个课程的开始要告诉学生这门课程的重要性,从实践应用的角度引导学生,使他们克服课程中的畏难心理,明白只要认真学习都能够达到目标[2]。在课程的中后期,给同学们的案例是某公司的CRM系统设计。该CRM系统分为预算采购、入库登记、资产变动、资产维修、资产处置、资产报表等。通过对系统进行模块划分,进行类和接口的抽象、提取等操作。在课程中,重点讲解MyBatis基于注解的使用方法,弱化XML文件的配置[3],提高系统的编写效率。通过近九周的程序编写后,同学们对JAVA、Spring和MyBatis基本都能够熟练掌握:

(1)提出需求;

(2)定义持久化类;

(3)定义DAO接口、DAO实现及对应的Service;

(4)通过Spring的MVC技术实现对后台数据库的CRUD操作。通过对此CRM系统的教学实践,学生可以较为轻松地研发出类似的软件产品的原型或者将其完善之后作为自己的毕业设计,取得了较为良好的教学效果,基本达到了教学目的。

四、结束语

教学效果是否好,要看最终学生的认可程度。在我院实行JAVA为基础、Spring和MyBatis为核心技术的《Web中间件技术》课程以来,通过近四年毕业生的论文选题与就业情况,可以明显看出,基于JAVA路线、使用中间件技术与开发框架来学习并以此就业的人数比例在不断地提高。通过跟踪统计近四年学生所选题目可得下表1所示,在图1中,则列出了对应JAVA类选题在四年中所占的比例。通过本文的论述,可以看到,随着“互联网+”时代的到来,以阿里巴巴、京东、腾讯为代表的互联网公司对JAVA相关技术如分布式、云计算、大数据、人工智能等技术持续、深入地研究与应用,对课堂教学工作产生了极其深远的影响。一个具体应用场景、需求可能需要快速进行迭代、敏捷开发的场景,是基于MyBatis这个半自动化的数据访问服务中间件的最佳用武之地,故而在笔者所讲授课程《Web中间件技术》中以Spring和MyBatis进行了讲解与实践[4]。

参考文献:

[1]丁瑞萍.应用型地方本科院校构建精准实践育人体系的思考[J].民营科技,2018,(12):282-283.

[2]林恒建.MyBatis模板化教学[J].福建电脑,2017,33(11):180+8.

[3]王天順,甄姬娜,王丽娟.C++程序设计教学改革探索与实践[J].电脑知识与技术,2012,8(12):2833-2834+2856.

[4]王天顺.面向学生需求的计算机基础教育深度改革实践[J].教育现代化,2017,4(51):44-45+49.

Application of MyBatis in "Web Middleware Technology" Course

WANG Tian-shun,CHENG Jie,ZHANG Zhi-wen

(College of Information Engineering,Zhengzhou Shengda University of Economics,Business&Management,Zhengzhou,Henan 451191,China)

Abstract:The course I undertake at this semester is "Web Middleware Technology" for senior students.It is aimed at students who are about to graduate and take up jobs.In the database access chapter of this course,instead of using native CRUD access mode,MyBatis,a semi-automatic data access middleware,was first used in our college teaching.In the teaching process,we have achieved good results,and improved the students' understanding and application ability of JAVA language,JAVA development framework and middleware technology.

Key words:Database Access Middleware;MyBatis;understanding and application ability