SSM(Spring+SpringMVC+MyBatis)框架为当今最为流行的WEB开发框架之一,基本上涉及数据库的一些增删改查操作都可以借用此框架,本尊此前接的一个小公司关于楼宇空调监控指标的项目就是基于此框架,只不过当时框架已经被别人搭建好,只等我去添砖加瓦,并没有从头开始对此框架进行着手搭建.从今天起,一边查资料,我一边分享下从基础开始学习SSM框架的历程,网上很多视频教程都是收费的,我就忍心割肉看一下,然后为大家总结下,想学的朋友可以和我一起讨论。可以这么说,学会了此框架,50%的小公司WEB项目都可以去接了......
首先我们先来解释一下SSM的含义,然后今天着重介绍下MyBatis的环境搭建,实现单表的增删改查动作.
Spring:
Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
SpringMVC:
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。
MyBatis:
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。MyBatis是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO)MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
好了,解释完基本概念后,肯定似懂非懂,没关系,概念嘛,看一看了解就可以了.下面我们开始Mybatis的环境搭建.
1)Eclipse创建一个Java project:
2) 百度搜索关键字“MyBatis”,进入官网,下载最新版本的mabatis和mysql的jar包,并导入eclipse。本尊用的是这两个jar包:
3)编辑Mybatis配置文件,在src目录下创建一个名为mybatis-cfg.xml的配置文件,内容如下(可从Mybatis官网上直接复制粘贴):
具体标签我就不解释了,我们只需要注意几个重要的:
<properties>:resource为参数配置文件的名字;
<environment>:id即为数据库的名字;
<mappers>:为后面定义的接口文件,后面再作解释;
4) 配置数据库配置文件jdbc.properties
5)或许我们可以把SQl语句直接写进xml配置文件,那样也能得到结果,但不是最好的,这里我跳过了前面几个步骤,直接用最为符合Java编程习惯的接口映射注解的方法:
5.1)数据库我已经创建好了表(users)和字段,并添加了内容:
5.2) 添加bean来作为数据库数据传递的对象:
5.3)创建接口来实现增删改查方法:
5.4):创建SqlProvider来作为编写SQL语句的场所,注意方法名要对应上!
5.5):好了,写了那么多的配置和输出文件,那么最后一步就是编写驱动MyBatisUtils来让Mybatis访问数据库(官网也可以查到):
注意:resource即为配置文件的名字,.build的第二个参数为数据库名字。
6)大功告成,我们可以编写一个Junit Test来测试下我们的Mybatis好不好用:
首先取到session并建立连接,然后将我们的接口UserMapper注入到session中,最后调用接口里面的方法来实现增删改查,当然,SQl语句我们都已经提前写好了并放在SqlProvider里了,运行一下结果:
[User [id=1, userName=eric, userPwd=111], User [id=2, userName=tony, userPwd=222], User [id=4, userName=Jeff, userPwd=12345], User [id=6, userName=Tom, userPwd=12345], User [id=8, userName=cat, userPwd=888]]
输出了正确的结果。好了,这样Mybatis就算配置成功了。实现了单表的增删改查,接下来我们还会逐渐增加深度,从表结构以及多对映射的角度来更深入探讨Mybatis!